我有以下代码行
$return_array = array(
$count_answers => array(
"name" => $domain,
"type" => $type,
"class" => $class,
"ttl" =>$ttl,
"data_lenght" => $data_l
)
);
我想在数据长度之后使用以下代码
添加preference
array_push($return_array[$count_answers]['preference'], $preference);
警告:array_push()要求参数1为数组,在第367行的\ functions \ functions.php中给出null
为什么我的第一个参数不是数组?
答案 0 :(得分:3)
因$return_array
索引的'preference'
中没有元素。您可以使用此附加$preference
$return_array[$count_answers]['preference'][] = $preference;
或先用空数组初始化
$return_array[$count_answers]['preference'] = array();
如果您不想添加数组首选项,只需添加一个元素'preference'
,请附加
$return_array[$count_answers]['preference'] = $preference;
答案 1 :(得分:2)
您无需使用array_push
,也可以直接添加该项目。
$return_array[$count_answers]['preference'] = $preference;
array_push
不允许使用字符串作为索引,因此$preference
位于$return_array[$count_answers][0]
在第367行,您没有提供数组,但是当前数组中的空元素。
答案 2 :(得分:1)
您应该在下面更正您的代码。
$return_array = array(
$count_answers => array(
"name" => $domain,
"type" => $type,
"class" => $class,
"ttl" =>$ttl,
"data_lenght" => $data_l
)
);
$preference['preference'] = "kkk";
只需更改
$return_array[$count_answers]['preference']
与
$return_array[$count_answers]
在array_push中,如下所示
array_push($return_array[$count_answers], $preference);
答案 3 :(得分:0)
将array_push()与多维数组一起使用是一种矛盾。
PHP数组是分层的 - 而不是多维的。并且array_push添加具有指定值的编号元素。此外,在manual。
中清楚地解释了array_push()的用法我想在数据长度之后使用以下代码添加'preference'
为什么要用该代码执行此操作?它失败了,原因应该是显而易见的。
您应该使用的代码是:
$return_array[$count_answers]['preference']=$preference;
答案 4 :(得分:0)
foreach($arr_data_arrays as $key=>$line_arr) { // do an array looping at first
$new_arr = array(); // create an array to be included on the second position
$new_arr[0] = $line_arr;
array_push($arr_data_arrays[$key][1],$new_arr);//include the whole array on the sec position
};
很容易就是这样!