私は次の配列を持っています:
array('16 HOURS','13.3 HOURS','10.6 HOURS AGO','8 HOURS AGO','5.3 HOURS AGO','2.6 HOURS AGO','CURRENT')
希望の長さに達するまで、すべての文字列の間に空のセル('')を挿入したいと思います。私はiなどのさまざまなループを試しましたが、事前のおかげで、常にCURRENTの後ろまたは16時間前に空白ができてしまいます。
これを試して。
$array = array('16 HOURS','13.3 HOURS','10.6 HOURS AGO','8 HOURS AGO','5.3 HOURS AGO','2.6 HOURS AGO','CURRENT');
$i = 1;
foreach($array as $val) {
$tempArray[] = $val;
if($i < count($array)) {
$tempArray[] = '';
}
$i++;
}
print_r($tempArray);
結果
配列
(
[0] => 16時間
[1] =>
[2] => 13.3時間
[3] =>
[4] => 10.6 時間前
[5] =>
[6] => 8 時間前
[7] =>
[8] => 5.3 時間前
[9] =>
[10] => 2.6 時間前
[11] =>
[12] => 現在
)
$myArray = array(
'16 HOURS',
'13.3 HOURS',
'10.6 HOURS AGO',
'8 HOURS AGO',
'5.3 HOURS AGO',
'2.6 HOURS AGO',
'CURRENT'
);
$newArray = array_combine(
range(0,12,2),
$myArray
) +
array_fill_keys(
range(1,12,2),
''
)
;
ksort($newArray);
var_dump($newArray);