0

PHP での多次元/連想配列のループに関するヘルプを探しています。基本的に、テーブル内の特定のキー値をループして出力する必要があります。あまり運がない。

これが私の配列のサンプルです。

$myarray = array( 
"body"                   => array(

"0"                      => array( 
  "machine"                 => array(
    "id"                     => "1",
    "name"                   => "macbookpro",
    "description"            => "laptop machine",
    "state"                  => "reserved",
    "state_since"            => "2013-08-28 12:05:00",
    "queue_snapshot"         => array(
      "time"                   => "2013-08-01 12:00:00",
      "jobs"                   => "450",
      "jobs_available"           => "90",
      "cputime_running"        => "00:01:00",
      "cputime_eligible"       => "00:90:00",
      "cputime_block"          => " 90:00:00",
    )
  )
),

"1"                    => array(
  "machine"                 => array(
    "id"                     => "2",
    "name"                   => "ipad",
    "description"            => "tablet machine",
    "state"                  => "available",
    "state_since"            => "2013-08-28 12:05:00", 
    "queue_snapshot"         => array(
      "time"                   => "2013-08-01 12:00:00",
      "jobs"                   => "50",
      "jobs_available"         => "20",
      "cputime_running"        => "00:05:00",
      "cputime_eligible"       => "00:12:00",
      "cputime_block"          => " 00:10:00",
    )
  )
)
));

この配列には後でアクセスする必要がある値がいくつかあるので、このテーブルを作成するには特定の値にアクセスできれば十分です。このように出力する必要があります....

マシン名 | 説明 | 状態 | ジョブ | 利用可能なジョブ |

macbookpro ラップトップ マシン 予約済み 450 90

ipad タブレット機 利用可能 50 20

4

1 に答える 1

0

その場でUntestet

 <?php
      if(isset($myarray['body']) && is_array($myarray['body']))
      foreach($myarray['body'] as $id=>$arr) {
         $name = $arr['name'];
         $description = $arr['description'];
         $jobs = $arr['queue_snapshot']['jobs'];
         $jobs_available = $arr['queue_snapshot']['jobs_available'];

         echo "<br>$name $description $jobs $jobs_available";
      }

 ?>
于 2013-09-23T13:51:27.473 に答える