你能告诉我,如何使用与原始数组中相同的键创建每个第二个键的新数组? 输入
$product_shop=[1=>200,5=>150, 10=>343, 2=>654, 6=>333]
我需要输出
$product_shop=[1=>200, 10=>343, 6=>333]
我无法对键进行排序。
答案 0 :(得分:1)
我认为这是正确的方式
$product_shop=[1=>200,5=>150, 10=>343, 2=>654, 6=>333];
$second_array = [];
$i = 0;
foreach ($product_shop as $key=>$value) {
if ($i % 2 == 0) {
$second_array[$key] = $value;
}
$i++;
}
答案 1 :(得分:1)
下次给出一些你尝试过的例子:
<?php
$even = array();
$odd = array();
$i = 0;
foreach($product_shop as $key => $value){
if($i++%2===0){
$even[$key] = $value;
} else {
$odd[$key] = $value;
}
}
var_dump($even, $odd); exit;
?>
答案 2 :(得分:1)
$product_shop=[1=>200,5=>150, 10=>343, 2=>654, 6=>333];
$i = 0;
$array = array_filter($product_shop, function ($e) use (&$i) {
return ++$i & 1;
});
这将打印:
array(3) {
[1]=>
int(200)
[10]=>
int(343)
[6]=>
int(333)
}