-2

次の形式の配列があります。

 array (
      [0] => array (
        [0] => array (
          [id] =>  19
          [Type] =>  sng
          [TouristPrice] =>  2500
          [ExtraBeds] =>  1500
          [ChildPrice] => 1000
        )
      )
    )

そして、私はそれを次のように変換したいと思います:

array (
    [0] => array (
      [id] =>  19
      [Type] =>  sng
      [TouristPrice] =>  2500
      [ExtraBeds] =>  1500
      [ChildPrice] => 1000
    )  
)

どうすればこれを行うことができますか?

4

1 に答える 1

1

できることの 1 つは、配列をウォークスルーし、最初のオプションをこのように配置することです。場合によっては、すべての配列項目が同じ種類で、1 レベルの深さしかありません。フォルダー内のフォルダーを親フォルダーに移動するのと同じです。

foreach ($array as $subarray)
    $subarray = $subarray[0];

このコードを試しました:

<?php
    $array = array(
        array(
            array(
                "Hello",
                "World"
            )
        ),
        array(
            array(
                "Hello One",
                "World One"
            )
        ),
    );
    var_dump($array);
    foreach ($array as $subarray)
        $subarray = $subarray[0];
    var_dump($array);
?>

この出力を得ました:

array(2) {
  [0]=>
  array(1) {
    [0]=>
    array(2) {
      [0]=>
      string(5) "Hello"
      [1]=>
      string(5) "World"
    }
  }
  [1]=>
  array(1) {
    [0]=>
    array(2) {
      [0]=>
      string(9) "Hello One"
      [1]=>
      string(9) "World One"
    }
  }
}
array(2) {
  [0]=>
  array(1) {
    [0]=>
    array(2) {
      [0]=>
      string(5) "Hello"
      [1]=>
      string(5) "World"
    }
  }
  [1]=>
  array(1) {
    [0]=>
    array(2) {
      [0]=>
      string(9) "Hello One"
      [1]=>
      string(9) "World One"
    }
  }
}
于 2013-01-31T08:07:48.567 に答える