web-dev-qa-db-ja.com

連想配列のarray_Push

このように連想配列を拡張しようとしていますが、PHPは気に入らないようです。

私はこのメッセージを受け取ります:

Warning: array_Push() expects parameter 1 to be array, null given

私のコードは次のとおりです。

$newArray = array();  
foreach ( $array as $key => $value ) { 
    $array[$key + ($value*100)] = $array[$key];
    unset ( $array[$key] );
    array_Push ( $newArray [$key], $value );
}
//}
print_r($newArray);

どこで私は間違えましたか?

20
EnglishAdam

これはあなたの問題です:

$ newArray [$ key]はnullです$ newArrayは空の配列であり、まだ値がありません。

コードを次のように置き換えることができます

array_Push( $newArray, $value );

またはarray_Pushの代わりに使用する

$newArray[$key] = $value;

そのため、$ keyのインデックスを保持できます。

39
akDeveloper

連想配列としてプッシュでarray_merge事前構築関数を使用します。

例えば:-

$jsonDataArr=array('fname'=>'xyz','lname'=>'abc');
$pushArr=array("adm_no" => $adm_no,'date'=>$date);
$jsonDataArr = array_merge($jsonDataArr,$pushArr);
print_r($jsonDataArr);//Array ( [fname] => xyz [lname] => abc [adm_no] =>1234 [date] =>'2015-04-22')
7
vineet