PHP向数组添加元素

时间:2011-08-16 13:29:13

标签: php

以下评论GOAL的行会产生错误。错误没有显示(只是得到一个白色的屏幕),我没有访问php.ini来更改设置。我很确定这个错误是“不能用[]来阅读”。

我该如何解决这个问题?必须保留密钥,而array_push似乎不可能。

foreach ($invention_values as $value)
        {
            if( array_key_exists($value->field_name, $array) )
            {
                //GOAL but creates error: $array[$value->field_name][] = $value->field_value;
                //works but only with numeric keys
                array_push($array, $value);             
            }

            else $array[$value->field_name] = $value;           
        }

编辑:代码

EDIT2:实际上我认为错误是因为我正在处理一个对象而不是一个数组。

的对象是什么
$array[$value->field_name][] = $value ?

1 个答案:

答案 0 :(得分:0)

您的$array[$value->field_name]为空,因此您无法使用[]。要将其初始化为数组,您必须执行以下操作:

if(!array_key_exists($value->field_name, $array) ){
    $array[$value->field_name] = array();
}
$array[$value->field_name][] = $value->field_value;

它与你在上一行中的内容相矛盾,所以你必须决定,你希望$array[$value->field_name]是一个数组或标量值。