可能最好用代码示例解释。
我有一个普通键序的简单数组:
$array = array(
'0' => 'Value',
'1' => 'Value',
'2' => 'Value',
'3' => 'Value',
'4' => 'Value',
);
有没有办法改变它,所以键按此顺序排列?
$array = array(
'0' => 'Value',
'1' => 'Value',
'4' => 'Value',
'5' => 'Value',
'8' => 'Value',
);
答案 0 :(得分:3)
$array = array(
'value',
'value',
'value',
'value',
'value',
'value',
'value',
'value'
);
$newArray = [];
$mustSkip = 1;
$i = 1;
foreach($array as $key => $value) {
$newArray[$i] = $value;
if($mustSkip == 2) {
$i = $i+3;
$mustSkip = 1;
}
else {
$i++;
$mustSkip++;
}
}
echo "<pre>",print_r($newArray,1),"</pre>";
exit;
结果:
Array
(
[1] => value
[2] => value
[5] => value
[6] => value
[9] => value
[10] => value
[13] => value
[14] => value
)
自己测试。
答案 1 :(得分:1)
<pre>
$newArray = array();
$i = 1;
foreach ($array as $key => $value) {
$newArray[$i] = $value;
if ($key % 2 && $key) {
$i += 3;
} else {
$i++;
}
}
var_dump($newArray);
</pre>