Php 数组\按数组的第一个键

Php 数组\按数组的第一个键,php,arrays,Php,Arrays,在使用array\u push时,我很难在if语句中将一个片段添加到数组中。如果尝试将$arr更改为$arr[0],则会出现错误: Notice: Undefined offset: 0 PHP: 这就是目前正在发生的情况: { "test": "value", "0": { "test2": [{ "test3": "value" }] } } 这就是我希望发生的事情: { "tes

在使用
array\u push
时,我很难在if语句中将一个片段添加到数组中。如果尝试将
$arr
更改为
$arr[0]
,则会出现错误:

Notice: Undefined offset: 0
PHP:

这就是目前正在发生的情况:

{
    "test": "value",
    "0": {
        "test2": [{
            "test3": "value"
            }]
         }

}
这就是我希望发生的事情:

{
    "test": "value",
    "test2": [{
            "test3": "value"
            }]
}

array\u push
用于索引数组。您使用的是关联数组,因此只需执行以下操作

$data = array('test' => 'value');
if(!empty($_POST['stuff'])){
    $data['test2'] = array(array('test3' => 'value')));
}

array\u push
用于索引数组。您使用的是关联数组,因此只需执行以下操作

$data = array('test' => 'value');
if(!empty($_POST['stuff'])){
    $data['test2'] = array(array('test3' => 'value')));
}

不要使用
array\u push
,您无法控制关联键:

$data['test2'] = array(array('test3' => 'value'));

不要使用
array\u push
,您无法控制关联键:

$data['test2'] = array(array('test3' => 'value'));
改用:

$data = array_merge($data,$arr);

改用:

$data = array_merge($data,$arr);

您正在向我们展示
json_encode
的结果,对吗?是的,对不起,我会将其添加到上面的代码中。您正在向我们展示
json_encode
的结果,对吗?是的,对不起,我会将其添加到上面的代码中。谢谢,这是我睡了3个小时后得到的结果!谢谢你,这就是我睡了3个小时所得到的!