在php中以编程方式向多维数组中添加项



我有以下数组

 $a = array(0 => 'Item',
        1 => 'Wattles',
        2 => 'Types',
        3 => 'Compost',
        4=> 'Estimated',
        5 => '123',
        6 => 'Actual',
        7 => '12',
    );

用下面的代码排序。

echo "<pre>";
print_r($a);
$a_len = count($a);
$fnl = array();
$i = 0;
while($i<$a_len){
    $fnl[$a[$i]] =  $a[++$i];
    $i++;
}
print_r($fnl);

打印正确

Array
(
    [Item] => Wattles
    [Types] => Compost
    [Estimated Qty] => 123
    [Actual Qty] => 12
)

,直到我添加多个条目。

Array
(
    [0] => Item
    [1] => Wattles
    [2] => Types
    [3] => Compost
    [4] => Estimated Qty
    [5] => 123
    [6] => Actual Qty
    [7] => 12
    [8] => Item
    [9] => Silt Fence
    [10] => Types
    [11] => Straw
    [12] => Estimated Qty
    [13] => 45
    [14] => Actual Qty
    [15] => 142
)

我需要在多维数组中添加项。

$items = array
  (
  array("Wattles","Silt Fence), //items
  array("Compost","Straw"), //types 
  array(123,45), //estimated quantity
  array(12,142) //actual quantity
  );

有几个给定的数字。在列表重复之前正好有4个条目(8项)。

我已经在这部分卡住了几个小时,不知道如何让我的代码工作,因为我想要它

要获得字符串键的预期结果,您可以这样做:

foreach(array_chunk($a, 2) as $pairs) {
    $result[$pairs[0]][] = $pairs[1];
}

收益率:

Array
(
    [Item] => Array
        (
            [0] => Wattles
            [1] => Silt Fence
        )
    [Types] => Array
        (
            [0] => Compost
            [1] => Straw
        )
    [Estimated] => Array
        (
            [0] => 123
            [1] => 45
        )
    [Actual] => Array
        (
            [0] => 12
            [1] => 142
        )
)

如果你想要数字索引:

$result = array_values($result);

您的多维数组结构错误。你应该这样构造你的数组:

$a = array(
  0 => array(
    'Item' => 'Wattles',
    'Types' => 'Compost',
    'Estimated' => 123,
    'Actual' => 12
  )
);

然后添加:

$a[] = array(
  'Item' => 'Silt Fence',
  'Types' => 'Straw',
  'Estimated' => 45,
  'Actual' => 142
);

渲染出来看看结果,这是我认为你正在寻找。

print_r($a);

我可以张贴一个链接,如果你想学习如何排序多维数组子数组值,如果你需要。

相关内容

  • 没有找到相关文章

最新更新