26

我正在尝试扩展这样的 assoc 数组,但 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);

我哪里做错了?

4

2 回答 2

53

这是你的问题:

$newArray[$key] 为空,因为 $newArray 是一个空数组并且还没有值。

您可以将代码替换为

array_push( $newArray, $value );

或代替 array_push 使用

$newArray[$key] = $value;

这样您就可以保留 $key 的索引。

于 2011-11-27T21:47:48.213 回答
8

我使用 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')
于 2015-04-22T06:36:22.263 回答