首页 > 解决方案 > 在php中foreach一个特定的多维数组

问题描述

我在论坛中进行了搜索,确实找到了很多示例,但是没有一个适合我。也许(肯定)我做错了什么。出于这个原因,如果可能的话,我需要你们的帮助。

我想要的是?我想从 json 文件中获取特定的数组。

大批:

array (
  'Data' => 
  array (
    0 => 
    array (
      'Id' => 439201,
      array (
      ),
      'Members' => 
      array (
        0 => 
        array (
          'PortfolioId' => 439201,
          'Id' => 100,
          array (
            'Id' => 1182,
            'Symbol' => 'BTC',
          ),
          'Amount' => 0.1,
          'BuyPrice' => 4000,
        ),
        1 => 
        array (
          'PortfolioId' => 439201,
          'Id' => 200,
          array (
            'Id' => 1182,
            'Symbol' => 'BTC',
          ),
          'Amount' => 0.2,
          'BuyPrice' => 5000,
        )
      )
    )
  )
)

我想这样打印:

+----------+---------+----------+
| id       |  amount | BuyPrice |
+-------------------------------+
|  100     |  0.1    | 4000     |
+-------------------------------+
|  200     |  0.2    | 5000     |
+----------+---------+----------+

我的PHP代码:

$url = file_get_contents(dirname(__DIR__  ) . '/json/history.json');
$array = json_decode($url, TRUE);

foreach ($array as $items) {
  foreach ($items as $key => $value) {
      echo $value['Id'] . '|' . $value['amount'] . '|' . $value['BuyPrice'] . '<br>'; 
  }
}

标签: phpjson

解决方案


尝试这个

$arrayName = array (
  'Data' =>
  array (
    0 =>
    array (
      'Id' => 439201,
      array (
      ),
      'Members' =>
      array (
        0 =>
        array (
          'PortfolioId' => 439201,
          'Id' => 100,
          array (
            'Id' => 1182,
            'Symbol' => 'BTC',
          ),
          'Amount' => 0.1,
          'BuyPrice' => 4000,
        ),
        1 =>
        array (
          'PortfolioId' => 439201,
          'Id' => 200,
          array (
            'Id' => 1182,
            'Symbol' => 'BTC',
          ),
          'Amount' => 0.2,
          'BuyPrice' => 5000,
        ),
      ),
    ),
  ),
);
foreach ($arrayName['Data'][0]['Members'] as $key => $value) {
  echo $value['Id'] . '|' . $value['Amount'] . '|' . $value['BuyPrice'] . '<br>';
}


推荐阅读