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

Sik*_*eon 0 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));
Run Code Online (Sandbox Code Playgroud)

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

She*_*hef 5

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

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

$keys = array_keys($result);
print end($keys);
Run Code Online (Sandbox Code Playgroud)