簡體   English   中英

PHP-如何創建這樣的數組?

[英]PHP - How to create such array?

問題很簡單,我想動態創建下面的數組,但是我現在得到的代碼僅輸出最后一行。 有誰知道我的動態數組創建有什么問題嗎?

$workingArray = [];
$workingArray =
[
    0 =>
    [
        'id' => 1,
        'name' => 'Name1',
    ],
    1 =>
    [
        'id' => 2,
        'name' => 'Name2',
    ]
 ];
echo json_encode($workingArray);


/* My not working array */
$i = 0;
$code = $_POST['code'];
$dynamicArray = [];
foreach ($Optionsclass->get_options() as $key => $value) 
{
    if ($value['id'] == $code) 
    {
        $dynamicArray =
        [
            $i =>
            [
                'id' => $key,
                'name' => $value['options']
            ]
        ];
        $i++;
    }
} 
echo json_encode($dynamicArray);

您不需要$i東西,就可以在您不想要的數組中添加另一個級別。

$code = $_POST['code'];
$dynamicArray = [];
foreach ($Optionsclass->get_options() as $key => $value) 
{
    if ($value['id'] == $code) 
    {
        $dynamicArray[] = ['id' => $key, 'name' => $value['options'];
    }
} 
echo json_encode($dynamicArray);

您將在每次迭代中創建一個新的動態數組:

$dynamicArray =
        [
            $i =>
            [
                'id' => $key,
                'name' => $value['options']
            ]
        ];

而是聲明$ dynamicArray = []; 在foreach之上,然后使用:

array_push($dynamicArray, [ 'id' => $key, 'name' => $value['options']);

在數組中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM