Php 严格的标准:只有变量应该通过引用传递
严格标准:第1519行的/home/zumpu/public_html/cats/cats-0.8.0/lib/DataGrid.php中只能通过引用传递变量 严格标准:第1535行的/home/zumpu/public_html/cats/cats-0.8.0/lib/DataGrid.php中只能通过引用传递变量Php 严格的标准:只有变量应该通过引用传递,php,mysql,Php,Mysql,严格标准:第1519行的/home/zumpu/public_html/cats/cats-0.8.0/lib/DataGrid.php中只能通过引用传递变量 严格标准:第1535行的/home/zumpu/public_html/cats/cats-0.8.0/lib/DataGrid.php中只能通过引用传递变量 if ($sizable) { $formatString = '<th align="left" class="re
if ($sizable)
{
$formatString = '<th align="left" class="resizeableCell" '
. 'style="width:5px; border-collapse: collapse; '
. '-moz-user-select: none; -khtml-user-select: none;';
if (end(array_keys($this->_currentColumns)) != $index) //line 1519
{
//Uncomment for gray resize bars
$formatString .= 'border-right:1px solid gray;';
}
$formatString .=
'user-select: none;" onmouseover="style.cursor = '
. '\'e-resize\'" onmousedown="startResize(\'cell%s%s\', '
. '\'table%s\', \'cell%s%s\', %s, \'%s\', \'%s\', '
. '\'%s\', \'%s\', this.offsetWidth);">';
echo sprintf(
$formatString,
$md5InstanceName, $index,
$md5InstanceName,
$md5InstanceName, end(array_keys($this->_currentColumns)),// line 1535
$this->_tableWidth,
urlencode($this->_instanceName),
$_SESSION['CATS']->getCookie(),
$data['name'],
implode(',', $cellIndexes)
);
echo '<div class="dataGridResizeAreaInnerDiv"></div></th>', "\n";
}
}
if($sizeable)
{
$formatString='';
埃科斯普林特(
$formatString,
$md5InstanceName,$index,
$md5InstanceName,
$md5InstanceName,end(数组_键($this->_currentColumns)),//第1535行
$this->\u桌面宽度,
urlencode($this->\u instanceName),
$\u会话['CATS']->getCookie(),
$data['name'],
内爆(“,”,$cellIndexes)
);
回显“”,“\n”;
}
}
帮我解决一个卡滞了2天的问题严格来说,你不应该将函数的返回值直接传递给另一个函数,该函数将其参数作为引用,而不首先将其分配给命名变量 它通常可以正常工作,并且可能不会中断,[直到PHP版本更改中断],但由于这些原因,它会生成一条
E_STRICT
消息
这将删除消息,但保留当前功能:
$keys = array_keys($this->_currentColumns);
if (end($keys)) != $index) //line 1519
/* ... */
echo sprintf(
$formatString,
$md5InstanceName, $index,
$md5InstanceName,
$md5InstanceName, end($keys),// line 1535
$this->_tableWidth,
urlencode($this->_instanceName),
$_SESSION['CATS']->getCookie(),
$data['name'],
implode(',', $cellIndexes)
);
试一试-
及
从文档中-结束(数组和$array)
->数组。此数组是通过引用传递的,因为它是由函数修改的。这意味着您必须传递一个实变量,而不是返回数组的函数,因为只能通过引用传递实际变量。
必须传递一个变量到end()
,而不是传递函数,即array\u keys()
$index=array\u keys($This->\u currentColumns);如果(end($indexes)!=$index).
来自文档-结束(数组和$array)
->数组。此数组是通过引用传递的,因为它是由函数修改的。这意味着您必须传递一个实变量,而不是返回数组的函数,因为只能通过引用传递实际变量。
必须传递一个变量到end()
,而不是传递一个函数,即array\u keys()
。可能的重复
$keys = array_keys($this->_currentColumns);
if (end($keys) != $index){
$md5InstanceName, end($keys),