簡體   English   中英

PHP-訪問數組中的數據

[英]PHP - Accessing data within array

似乎無法解決如何訪問其中具有其他數組的數組中的數據。

我的數組看起來像:

Array
(
    [0] => Array
        (
            [_id] => 28
            [serv_image] => 
            [serv_name] => My Service
            [slug] => my-service
            [is_featured] => 
            [_blocks] => Array
                (
                    [0] => Array
                        (
                            [anchor_heading] => Mats Heading
                            [_block_type] => anchorHeading
                            [_block_id] => pe8t69
                            [_block_index] => 0
                        )

                    [1] => Array
                        (
                            [anchor_heading] => Another anchored heading
                            [_block_type] => anchorHeading
                            [_block_id] => pea49u
                            [_block_index] => 1
                        )

                )

            [_page] => *
            [_pageID] => 1
            [_sortvalue] => 1003
        )

)

到目前為止,我已經嘗試過但沒有成功:

foreach($services as $service) {
    print_r($service['_blocks']['anchor_heading']);
}

這將導致anchor_heading索引未定義。

更新

我將需要將它們組合成一個變量的數量未知。 無論輸入了多少次,我如何確保都能抓住它們?

每個_block都有一個數組。因此您需要一個索引訪問..(或內部迭代)

foreach($services as $service) {
  print_r($service['_blocks'][0]['anchor_heading']);
  print_r($service['_blocks'][1]['anchor_heading']);
}

(或內部迭代)

  foreach($services as $service) {
      $blocks  = $service['_blocks'];
      foreach( $blocks as $block) {
          print_r($block['anchor_heading']);

      }
  }

您可能會使用兩次foreach並回顯anchor_heading的值:

foreach($services as $service) {
    foreach ($service["_blocks"] as $block) {
        echo $block["anchor_heading"];
    }
}

您可以使用以下命令在for循環中訪問數組中的數據:

print($service['_blocks'][0]['anchor_heading']);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM