私は次の配列を持っています:
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);