如何重写数组值



>我在另一个数组中有一个数组,我想更改键中的值。

        //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

最新更新