【问题标题】:Loop through json decoded array in PHP循环遍历PHP中的json解码数组
【发布时间】:2019-10-17 23:05:32
【问题描述】:

我有 Json 格式的数据,我已将其解码为一个 php 数组,当打印该数组时会产生以下内容(只是信息的 sn-p)。

Array (
[Title] => Array([Heading] => Company Name [Info] =>)
[SubTitle] => Array([Heading] => Welcome to Company Name[Info] =>information on the company)
)

我的问题是如何遍历这些信息并打印标题然后打印值。

我尝试了以下一次打印所有数据的方法

  foreach($data['SubTitle'] as $key => $value){

    echo $value;
   }

然后我尝试这样做只是为了打印我认为可能有效但抛出非法字符串偏移错误的信息部分

   foreach($data['SubTitle'] as $key => $v){

    echo $v['Info'];
   }

我可以从 Title 数组中获取信息,因为它在标题中只有数据值,因为它是直截了当的。但是我希望 Subtitle 数组的输出打印标题和信息,如下所示:

欢迎使用公司名称

公司信息

我认为这将是直截了当的,但结果比预期的要困难得多,并且占用了很多时间,因此非常感谢任何帮助。

【问题讨论】:

  • 请编辑问题并准确写出您希望输出的内容。取决于您输入的数组。
  • echo $v; 就够了
  • 我已经编辑了我的问题以显示我希望实现的输出。非常感谢您提供任何帮助
  • @catcon 我已经尝试过 echo v 并将所有信息打印在一个输出中,但我需要单独的信息
  • 它不会在一个输出中全部打印,它会分别遍历每个项目和echo 每个项目。您需要分隔信息,您可以通过添加空格/换行/用 div/等包裹它来完成。即:echo "<div>$v</div>";

标签: php arrays json foreach


【解决方案1】:

所以我假设你有一个如下所示的 JSON 字符串:

$json = '{"Title":{"Heading": "Company Name", "Info": null}, "SubTitle": {"Heading": "Welcome to Company Name", "Info": "information on the company"}}';

可视化,看起来像这样:

所以,如果您已将此 json 解码为关联数组:

$result = json_decode($json, true);

然后,为了访问数据,您不需要“循环”它;您需要做的就是:

echo $result['Title']['Heading']; // will print 'Company Name'
echo $result['Title']['Info']; // will print nothing, as it is empty
echo $result['SubTitle']['Heading']; // will print 'Welcome to Company Name'
echo $result['SubTitle']['Info']; // will print 'information on the company'

希望这会有所帮助。这是基本的php,请查看以下阅读材料:

【讨论】:

    【解决方案2】:

    从这里更改您的代码:

    foreach($data['SubTitle'] as $key => $v){
        echo $v['Info'];
    }
    

    到这里:

    foreach($data['SubTitle'] as $v){
        echo $v . "<br/>"; // the <br/> makes a new line
    }
    

    输出将是:

    Welcome to Company Name
    Information on the company
    

    $v 在 foreach 中不再是数组,而是变量。

    关于html标签的一些信息:https://www.w3schools.com/tags/

    还可以查看循环的工作原理:https://www.guru99.com/php-loop.html

    【讨论】:

      猜你喜欢
      • 2011-06-11
      • 2013-02-06
      • 1970-01-01
      • 2021-05-31
      • 1970-01-01
      • 2013-02-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多