PHP根据值连续循环数组
我有一个令人心碎的问题,我自己似乎无法解决。目前正在webshop中保存表单输入。数据:PHP根据值连续循环数组,php,laravel,loops,Php,Laravel,Loops,我有一个令人心碎的问题,我自己似乎无法解决。目前正在webshop中保存表单输入。数据: "personalisation" => array:3 [▼ 0 => "embroidery" 1 => "printing" 2 => "embroidery" ] "repeat" => array:2 [▼ 0 => "true" 1 => "true" ] "selectedColors" => a
"personalisation" => array:3 [▼
0 => "embroidery"
1 => "printing"
2 => "embroidery"
]
"repeat" => array:2 [▼
0 => "true"
1 => "true"
]
"selectedColors" => array:1 [▼
0 => "3"
]
我在这里遇到的问题是:我需要循环通过个性化阵列来添加到我的数据库中。对于刺绣,将链接重复值,对于打印,将链接所选颜色。如何循环Personlision数组并匹配其他数组中的值 我想不出除了使用助手数组以外的任何其他方法 可能是 数组(“刺绣”=>“重复”,“打印”=>“选定颜色”) 然后开始通过个性化循环,具体取决于在helper数组中将其用作键的值,最后从数组中获取所需的值 第一次迭代: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];
}
似乎表单输入的设计很糟糕。同意。很遗憾,我无法更改表单输入:-(这是来自
个性化的键,表示选择的颜色中的值吗?@Leorent在选择的颜色中没有值是重复中的0和1的颜色ID与什么确切对应?个性化中第一次和第二次出现的刺绣,打印/选择的颜色相同?然后它将很可能最有意义的是,您首先按值将个性化“拆分”为两个子数组,[0=>刺绣,1=>刺绣]和[0=>打印],这样您就可以使用这些“新”索引分别访问repeat/selectedColors中的对应值…