【问题标题】:How to print elements of an array of array in PHP如何在PHP中打印数组数组的元素
【发布时间】:2018-02-19 17:38:09
【问题描述】:

我有这样的 php 数组,它是从 php 控制器生成的。

Array
(
  [data001] => Array
    (
      [0] => stdClass Object
        (
          [page_id] => 204725966262837
          [type] => WEBSITE01
        )

      [1] => stdClass Object
        (
          [page_id] => 163703342377960
          [type] => COMMUNITY02
        )
      )

  [data001] => Array
    (
      [0] => stdClass Object
        (
          [page_id] => 204725966000037
          [type] => WEBSITE02
        )

      [1] => stdClass Object
        (
          [page_id] => 163703342377960
          [type] => COMMUNITY02
        )
      )
)

我想在同一个foreach 循环中回显这两个数组。 我试过这样,但没有用。

foreach ($results as $result) {
    echo $result->type; 
    echo "<br>";
} 

但我不想使用foreach ($results['data001'] as $result),因为我必须编写两个foreach 循环。

【问题讨论】:

  • 父数组中是否总是有 2 个数组?
  • 您为什么不想使用多个 foreach 语句进行迭代?这是读取 2D+ 数组的合法方式。
  • foreach ($results['data001'] as $key=&gt;$result) { ... $results['data001'][$key-&gt;type] ... }
  • @aendeerei 因为我想为一条记录打印各种按值分组。在我的控制器方面$job_category_data = array( 'common' =&gt; $this-&gt;auth_model-&gt;get_random_job_categories("JobCategoryId"), 'location1' =&gt; $this-&gt;auth_model-&gt;get_random_job_categories("Title") ); $data['job_categories'] = $job_category_data; $this-&gt;load-&gt;view('index', $data);
  • @splash58,那么我只能打印“data001”。我想同时打印 data001 和 data002。

标签: php arrays


【解决方案1】:

这里只有一个 foreach,这对你有用吗?

foreach ($results as $result) {
    for ($i=0; $i < count($result); $i++) { 
        echo $result[$i]->type; 
        echo "<br>";
    }
} 

【讨论】:

    【解决方案2】:

    如果你有这个数组试试这个,

    <?php
    // Multidimensional array
    $masterArray = array(
        "0" => array(
            "page_id" => "204725966262837",
            "type" => "WEBSITE01",
        ),
        "1" => array(
            "page_id" => "163703342377960",
            "type" => "COMMUNITY02",
        ),
        "2" => array(
            "page_id" => "204725966000037",
            "type" => "WEBSITE02",
        ),
        "3" => array(
            "page_id" => "204725966000037",
            "type" => "WEBSITE02",
        )
    );
    // Printing all the keys and values one by one
    
    $keys = array_keys($masterArray); 
    
     for($i = 0; $i < count($masterArray); $i++) {
    
        foreach($masterArray[$keys[$i]] as $key => $value) {
            echo $key . " : " . $value . "<br>";
        }
    }
    ?>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-07-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-23
      • 2020-04-23
      • 1970-01-01
      相关资源
      最近更新 更多