PHP根据值连续遍历数组

时间:2018-08-15 11:58:36

标签: php laravel loops

我遇到了一个令人困扰的循环问题,似乎无法解决自己。目前正在网上商店中保存表单输入。数据:

"personalisation" => array:3 [▼
    0 => "embroidery"
    1 => "printing"
    2 => "embroidery"
  ]
 "repeat" => array:2 [▼
    0 => "true"
    1 => "true"
  ]
"selectedColors" => array:1 [▼
    0 => "3"
  ]

这里的问题是:我需要遍历个性化数组以添加到数据库中。使用绣花,重复值被链接,并且对于打印,被选择的颜色被链接。如何遍历个性化数组并匹配另一个数组中的值?

2 个答案:

答案 0 :(得分:1)

我真的不建议设计这样的表单,基本上,您只是将混乱的混乱发送到您的后端而没有关联。

您可以通过过滤个性化数组并为其重新编制索引以使键与其他数组匹配来“纠正”关联。

$embroderies = array_values(array_filter($array['personalisation'], function($item) {
   return $item === 'embroidery';
}));

foreach($emborderies as $key => $value) {
    // get value from $array['repeat'][$key];   
}

答案 1 :(得分:0)

除了使用辅助数组之外,我别无选择。

可能是     array('embroidery'=>'repeat','printing'=>'selectedColors')

然后您开始遍历个性化设置,具体取决于您将其用作帮助程序数组中的键的值,然后最终从数组中获取所需的值。

第一次迭代:0 /刺绣->刺绣/重复->重复/真

第二次迭代:1 /打印->打印/ selectedColors-> selectedColors / ...