我有这个数组:
$array = array(a, b, c, d, e, f, g);
我想根据索引是偶数还是奇数将其分为两个数组,如下所示:
$odd = array(a, c, e, g); $even = array(b, d, f);
提前致谢!
一种解决方案,使用匿名函数和array_walk:
array_walk
$odd = array(); $even = array(); $both = array(&$even, &$odd); array_walk($array, function($v, $k) use ($both) { $both[$k % 2][] = $v; });
这样就可以将数组中的项一次分离出来,但是有点“聪明”。确实没有比经典的,更冗长的更好
$odd = array(); $even = array(); foreach ($array as $k => $v) { if ($k % 2 == 0) { $even[] = $v; } else { $odd[] = $v; } }