循环数组PHP

时间:2016-02-12 07:52:27

标签: php arrays codeigniter-3

我有一个数组,我从我的$_POST数据中得到了这个值

Array ( 
    [unit] => 
    [items] => Array ( 
        [1] => Array ( 
            [category] => 1 
            [items] => 5 
            [qty] => 1 
            [jan] => 1 
            [feb] => 
            [mar] => 
            [apr] => 
            [may] =>
            [jun] => 
            [jul] => 
            [aug] => 
            [sep] => 
            [oct] => 
            [nov] => 
            [dec] => 
        ) 
        [2] => Array ( 
            [category] => 1 
            [items] => 20 
            [qty] => 1 
            [jan] => 1 
            [feb] => 
            [mar] => 
            [apr] => 
            [may] => 
            [jun] => 
            [jul] => 
            [aug] => 
            [sep] => 
            [oct] => 
            [nov] => 
            [dec] => 
        ) 
        [3] => Array ( 
            [category] => 1 
            [items] => 27 
            [qty] => 1 
            [jan] => 1 
            [feb] => 
            [mar] => 
            [apr] => 
            [may] => 
            [jun] => 
            [jul] => 
            [aug] => 
            [sep] => 
            [oct] => 
            [nov] => 
            [dec] => 
        ) 
    ) 
    [action] => 
)

我正在尝试获取每个数组并将其传递给我的模型以进行数据库插入。例如,获取[items]的数组[1]

我尝试过使用

$array_col = array_column($_POST, 'items');
print_r($array_col);

但返回Array()为空。

感谢您的回答。

3 个答案:

答案 0 :(得分:1)

我怀疑您的数据位于$_POST['items']。 这样:

$array_col = $_POST['items'];

然后,要迭代它们,您需要loop

foreach($array_col as $col){
  // Do your stuff here
  print_r($col);
}

答案 1 :(得分:1)

从PHP文档...
http://php.net/manual/en/function.array-column.php
array_column() returns the values from a single column of the input, identified by the column_key. Optionally, an index_key may be provided to index the values in the returned array by the values from the index_key column of the input array

检查您是否有数组键索引 - “items”处于不同级别(级别0和级别2)

答案 2 :(得分:0)

您可以使用此代码。

foreach($_POST['items'] as $a){
    // Code will go here. Whatever.
    print_r($a);
}