我希望所有带有索引的值以键和所有奇数索引为go值的值。这样:
[english] => 85,
[mathematics] => 75
[science] => 71
[social] => 92
有任何好的功能可以实现这一目标吗?还是您可以帮助我处理代码?
简单的循环将做到这一点:
上面的代码假定有偶数元素。
像这样的东西:
<?php
$arr[0] = 'english';
$arr[1] = 85;
$arr[2] = 'mathematics';
$arr[3] = 75;
$arr[4] = 'science';
$arr[5] = 71;
$arr[6] = 'social';
$arr[7] = 92;
for($i=0;$i<count($arr);$i++)
{
if($i & 1)
$odd[] = $arr[$i];
else
$even[] = $arr[$i];
}
$result = array_combine($even,$odd);
var_dump($result);
?>
array(4) {
["english"]=>
int(85)
["mathematics"]=>
int(75)
["science"]=>
int(71)
["social"]=>
int(92)
}
使用
array_chunk
函数sustolution
$arr = array('english', 85,
'mathematics', 75,
'science', 71,
'social', 92
);
$result = array();
$chunks = array_chunk($arr, 2);
foreach ($chunks as $value) {
$result[$value[0]] = $value[1];
}
仅用于踢的功能风格(不考虑性能):
$odd = function($value) {
return($value & 1);
};
$even = function($value) {
return(!($value & 1));
};
$oddArr = array_filter($arr, $odd));
$evenArr = array_filter($arr, $even));
$ans = array_combine($oddArr,$evenArr);
如果您喜欢一种功能齐全的方法:块,转台,组合。 demo