我正在尝试像这样扩展一个关联数组,但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);
我哪里出错了?
答案 0 :(得分:36)
这是你的问题:
$ newArray [$ key]为null因为$ newArray是一个空数组,但还没有值。
您可以使用
替换代码array_push( $newArray, $value );
或代替array_push使用
$newArray[$key] = $value;
所以你可以保留$ key的索引。
答案 1 :(得分:6)
我将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')