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あなたの場合は static1である を arrayでチェックする必要がある$passer[$i]ので、array_key_exists()関数は次のようになります

array_key_exists(1,$passer[$i])

array_key_exists最初のパラメータが でありkey、2 番目のパラメータarrayが検査したい

于 2012-09-21T18:46:24.367 に答える
0

私はあなたが置くつもりだったと思いますarray_key_exists($passer[1], $passer)

2番目のパラメータは配列でなければなりませんが、あなたの例では配列の要素を渡しています(これは配列ではないためphp警告です)。

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

于 2012-09-21T18:43:59.273 に答える