需要在关联数组中推送键和值吗?

Lee*_*ena 3 php arrays associative

我需要在数组中推送更多键及其值.如果我使用下面的代码,第一个密钥对被第二个替换.

供你参考:

使用代码:

foreach ($projectData['projectsections'] as $key => $name) {
$projectData['projectsections'][$key] = ['name' => $name];
$projectData['projectsections'][$key]= ['id' => '1'];
}
Run Code Online (Sandbox Code Playgroud)

目前的结果:

'projectsections' => [
    (int) 0 => [
        'id' => '1'
    ],
    (int) 1 => [
        'id' => '1'
    ]
],
Run Code Online (Sandbox Code Playgroud)

预期:

'projectsections' => [
    (int) 0 => [
        'name' => 'test1',
        'id' => '1'
    ],
    (int) 1 => [
        'name' => 'test2',
        'id' => '1'
    ]
],
Run Code Online (Sandbox Code Playgroud)

如何在PHP中构建此数组?有人帮忙吗?

col*_*ton 5

$projectData['projectsections'][$key] = ['name' => $name];
$projectData['projectsections'][$key]= ['id' => '1'];
Run Code Online (Sandbox Code Playgroud)

你正在设置一个新的数组$key.这不是你想要的.

这应该工作:

$projectData['projectsections'][$key] = ['name' => $name, 'id' => '1'];
Run Code Online (Sandbox Code Playgroud)


Abr*_*ver 5

您需要添加整个数组:

$projectData['projectsections'][$key] = ['name' => $name, 'id' => '1'];
Run Code Online (Sandbox Code Playgroud)

或者使用键名添加:

$projectData['projectsections'][$key]['name'] = $name;
$projectData['projectsections'][$key]['id'] = '1';
Run Code Online (Sandbox Code Playgroud)