在end()中通过引用变量警告传递

时间:2011-10-08 09:30:24

标签: php arrays

如何删除此警告?

  

严格标准:只有变量应通过

中的引用传递

我的代码从多维数组中获取唯一值,然后获取最后一个索引。

$catchColors[]= array();

for ($i = 0; $i < $totalRows; $i++) {
    $catchColors[$i] = $postData[$i]['ColorID'];
}

$result = array_unique($catchColors);
print_r($result);

print end(array_keys($result));

它仍会返回值,但如何删除警告?

1 个答案:

答案 0 :(得分:4)

那是因为函数end的参数将通过引用传递。因此,它不能是另一个函数的返回,正如通知所说,它应该是一个实际的变量。

因此,一个解决方案是创建一个临时变量来保存键的数组,然后在该数组中执行end

$keys = array_keys($result);
print end($keys);