-3

私は次の配列を持っています:

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時間前に空白ができてしまいます。

4

2 に答える 2

1

これを試して。

$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] => 現在
)
于 2013-01-18T15:31:35.470 に答える
0
$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);
于 2013-01-18T15:42:39.473 に答える