我必须创建一个复制数组(我传递给函数)的函数,只有不均匀的键。例如:
$a = array(
'0' => '0',
'one => 'one',
'1' => '1',
'two' => 'two'
)
我必须得到:
$result = array(
'one => 'one',
'two' => 'two'
)
我已经创建了跟随功能,它可以工作,但也许我需要优化它(可能存在一个完成这项工作的功能)。建议?
private clean($values){
$vv = array();
$keys = array_keys($values);
for($i=1; $i < count($values); $i+=2) $vv[$keys[$i]] = $values[$keys[$i]];
return $vv;
}
由于
答案 0 :(得分:2)
$even = range(0, count($array), 2);
<强>更新强>:
for ($i = 0, $c = count($array); $i <= $c; $i = $i + 2) {
$even = array_push($even, $array[$i]);
}
答案 1 :(得分:-1)
尝试
$outputArray = array();
$keyToAdd = false;
foreach( $inputArray as $key => $value ) {
if( $keyToAdd ) {
$outputArray[$key] = $value;
}
$keyToAdd = !$keyToAdd;
}