【问题标题】:Parsing JSON array in PHP that doesn't have a key value在 PHP 中解析没有键值的 JSON 数组
【发布时间】:2021-07-28 03:41:03
【问题描述】:

发出请求后,我在 php 中收到一个数组,但该数组没有键值。不确定我是否需要先解析或转换为对象。我正在使用 simple_html_dom PHP 库。

这是从网站抓取表格数据的 PHP 脚本 -

$table = array();

$html = file_get_html('www.mysite.com');
foreach($html->find('tr') as $row) {
    $zero = $row->find('td',0)->plaintext;
    $one = $row->find('td',1)->plaintext;

    $table[$zero][$one] = true;
}

我作为响应得到的数组的结构是这样的 -

Array(

[Model] => Array
    (
        [PA-31-310] => 1
    )

[Year Manufacturer] => Array(
        [1975] => 1
    )
)

我试过像这样解析它,但没有输出任何数据 -

foreach($table as $value){
    $model = $value['Model'];
}

我觉得数组中的数组是什么导致了我的问题,我需要转换数组以获得“模型”吗?

【问题讨论】:

  • 并非每个数组都是 JSON。并不是每个编程任务都被称为“解析”。而且看起来您应该熟悉更基本的关联数组。
  • 我明白了,但是当我回显 $table['model'];我得到数组作为响应。所以我想我必须遍历数组才能获得唯一值。
  • $table[$zero][$one] = true; 更改为 $table[$zero] = $one;。这将简化您的阵列。你可以跳过foreach。
  • @JasonK 这就是我所需要的,谢谢!您可以将其添加为答案以便我接受吗?

标签: php arrays json parsing


【解决方案1】:

换一个

$table[$zero][$one] = true;

$table[$zero] = $one;

这将创建一个简单的键值数组。

【讨论】:

  • 再次感谢您!
猜你喜欢
  • 1970-01-01
  • 2018-06-08
  • 1970-01-01
  • 2015-08-15
  • 2015-06-04
  • 1970-01-01
  • 1970-01-01
  • 2019-08-05
  • 2020-01-17
相关资源
最近更新 更多