>我在另一个数组中有一个数组,我想更改键中的值。
//Obtenemos el numero de arrays
$count = array();
for($i = 0; $i < count($passer); $i++)
{
if(array_key_exists($passer[1],$passer[$i])) {
$passer[1] = "hola";
}
$count[] = $passer[$i];
}
//return....
return $count;
我需要更改键为 1 的条目并替换值。我有这个数组输出:
array
(
[0]=>array
(
[0]=>81278
[1]=>87364
[2]=>34923
)
[1]=>array
(
[0]=>81278
[1]=>87364
[2]=>34923
)
)
但我收到一个错误:
Warning: array_key_exists() [function.array-key-exists]:
知道这意味着什么以及如何处理吗?
您应该更改几件事。首先,你编写for
语句的方式不是最佳的,它会在每次迭代时执行count()
函数,让它像这样
for($i = 0, $c = count($passer); $i < $c; $i++)
第二,你的问题。你需要在数组$passer[$i]
中检查key
,在你的例子中是静态1
,所以你的array_key_exists()
函数应该看起来像这样
array_key_exists(1,$passer[$i])
array_key_exists
期望第一个参数是要检查的key
,第二个参数是要检查array
我想你的意思是把array_key_exists($passer[1], $passer)
第二个参数必须是一个数组,但是在您的示例中,您将数组的元素传递给它(它不是数组,因此是php警告)。
http://php.net/manual/en/function.array-key-exists.php