【问题标题】:Php Array push with key带键的php数组推送
【发布时间】:2017-08-07 16:44:34
【问题描述】:

这是我要输出的内容:

Array
(
    [0] => Array
        (
            [restriction_type_code] => CALORICONTROL
            [restriction_detail_code] => 3000CAL
        )

    [1] => Array
        (
            [restriction_type_code] => GLUTENFREE
            [restriction_detail_code] => NR
        )

)

我的实际代码如下所示:

限制:

foreach ($restriction as   $value) 
                {
                    $itemSplit =  explode("||", $value);
                    $itemSplit1 = explode("|", $itemSplit[0]);
                    $itemSplit2 = explode("|", $itemSplit[0]); 

                    $arrOrderDiet['restriction_type_code'][] = $itemSplit1 //CALORICONTROL;
                    $arrOrderDiet['restriction_detail_code'][] = $itemSplit2//3000CAL;

                }

我正在尝试所有的可能性,但我认为我已经没有解决方案了。

【问题讨论】:

  • 好的,请发布您的来源
  • 我们不知道你的数据是什么样子的 mate
  • 输出数组应该和我贴在上面的一样。

标签: php arrays array-push


【解决方案1】:

试试这个

foreach ($restriction as   $value) 
                {
                    $itemSplit =  explode("||", $value);
                    $itemSplit1 = explode("|", $itemSplit[0]);
                    $itemSplit2 = explode("|", $itemSplit[1]); 

                    $arrOrderDiet[] = array('restriction_type_code' => $itemSplit1, 'restriction_detail_code' => $itemSplit2);

                }

编辑:

foreach ($restriction as   $value) 
                    {
                        $itemSplit =  explode("||", $value);
                        $itemSplit1 = explode("|", $itemSplit[0]);
                        $itemSplit2 = explode("|", $itemSplit[1]); 

                        $arrOrderDiet[] = array('restriction_type_code' => $itemSplit1[0], 'restriction_detail_code' => $itemSplit2[2]);

                    }

【讨论】:

  • 它返回这个:[0] => Array ([restriction_type_code] => Array ([0] => CALORICONTROL [1] => 卡路里控制) [restriction_detail_code] => Array ([0] => CALORICONTROL [1] => 卡路里控制))
  • 仍然不是我想要的答案。 ~叹息
  • 考虑到您不知道数据的实际情况,您不觉得您发布得太早了吗?
  • 是的...你能复制print_r($itemSplit1)print_r($itemSplit2)的输出吗?
  • 你更新了$restrictions的输出,我还是更新了我的答案
【解决方案2】:

为什么两个索引相同:

$itemSplit1 = explode("|", $itemSplit[0]);
$itemSplit2 = explode("|", $itemSplit[0]);

不应该是这样的吗:

$itemSplit1 = explode("|", $itemSplit[0]);
$itemSplit2 = explode("|", $itemSplit[1]); 

加号:

$tmp['restriction_type_code'] = $itemSplit1[0];
$tmp['restriction_detail_code'] = $itemSplit2[0];
$arrOrderDiet[] = $tmp;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-10
    • 2017-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-31
    相关资源
    最近更新 更多