0

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

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

知道这意味着什么以及该怎么做吗?

4

2 回答 2

2

你应该改变几件事。首先,您编写for语句的方式不是最佳的,它会count()在每次迭代时执行该函数,让它像这样

for($i = 0, $c = count($passer); $i < $c; $i++)

第二,你的问题。您需要检查数组中的key(在您的情况下是静态的) ,因此您的函数应如下所示1$passer[$i]array_key_exists()

array_key_exists(1,$passer[$i])

array_key_exists期望第一个参数是您希望检查的key第二个参数array

于 2012-09-21T18:46:24.367 回答
0

我想你的意思是把array_key_exists($passer[1], $passer)

第二个参数必须是一个数组,但在您的示例中,您将数组的元素传递给它(这不是数组,因此是 php 警告)。

http://php.net/manual/en/function.array-key-exists.php

于 2012-09-21T18:43:59.273 回答