我遇到了php循环问题。
也许有更好的方法来做到这一点。目前我的post
正在返回
array(4) {
[1]=> string(2) "on"
["1-qty"]=> string(1) "1"
[5]=> string(2) "on"
["5-qty"]=> string(1) "9"
}
我正在尝试创建一个包含以下
的2个数组的新数组array(2) {
array(2) {
[category]=> string(2) "1"
["qty"]=> string(1) "1"
}
array(2) {
[category]=> string(2) "5"
["qty"]=> string(1) "9"
}
}
我已经尝试了每个foreach和for循环,我可以设法组合在一起。我需要的第一个值的主要问题是关键而不是第一个数组的值。然后我需要从主数组中获取前两个数组并添加到一个新数组,第一个数组键是数组中第一个键类别的新值,第二个数组的值是新数组的值数组中的key qty,并由post
变量中的2个foreach集的组重复
当前循环(不工作)
$data = $this -> input -> post();
$dCount = count($data);
$newCount = $dCount / 2;
$fin = array();
for ($i = 0; $i <= $newCount; $i++) {
$vals = array_slice($data, 0, $i + 1, true);
$qty = array_slice($vals, 0, $i , true);
$key = current(array_keys($qty));
$final = array('category' => $key, 'qty' => $qty[$key . '-qty']);
$fin[] = $final;
}
答案 0 :(得分:3)
尝试这种方式:
$source_arr = array(1 => "on", "1-qty" => 1, 5 => "on", "5-qty" => "9");
$result_arr = array();
foreach ($source_arr as $key => $value) {
if ($value == "on" && isset($source_arr[$key . "-qty"])) {
$result_arr[] = array(
'category' => $key,
'qty' => $source_arr[$key . "-qty"]
);
}
}