PHP 搜索 JSON 文件


PHP Search JSON File

到目前为止,我有这个:

<?php
$obj = json_decode(file_get_contents("URLTOJSONFILEHERE"), true);
$termStr = "WORD TO SEARCHHERE";
$terms = explode(" ", $termStr);
$results = array_filter($obj, function ($x) use ($terms){
    foreach($terms as $term){
        if (stripos($x["label"], $term) ||
            stripos($x["paper_item_id"], $term))
        {
            return true;
        }
    }
    return false;
});
echo print_r($results);

它正确地做到了,但是我怎么能在没有print_r和json_encode的情况下做到这一点呢?有没有办法把它放在 html 表中?我得到的结果:

{"103":{"paper_item_id":215,"type":5,"cost":320,"is_member":true,"label":"Life Jacket","prompt":"Life Jacket","layer":3000},"120":{"paper_item_id":232,"type":5,"cost":700,"is_member":true,"label":"Green Suede Jacket","prompt":"Green Suede Jacket","layer":3000},"125":{"paper_item_id":237,"type":5,"cost":700,"is_member":true,"label":"Red Suede Jacket","prompt":"Red Suede Jacket","layer":3000},"126":{"paper_item_id":238,"type":5,"cost":700,"is_member":true,"label":"Pastel Suede Jacket","prompt":"Pastel Suede Jacket","layer":3000},"129":{"paper_item_id":241,"type":5,"cost":700,"is_member":true,"label":"Purple Suede Jacket","prompt":"Purple Suede Jacket","layer":3000}

JSON 的第一个数字是什么意思:103,120 等我怎么不能以 JSON 文件格式显示它?

您正在获取一个 JSON 编码的数组。 103、120 是索引引用或数组键。使用 json_decode 后,只需循环访问生成的数组并输出内容。HEre是一些伪代码:

$obj = json_decode("...");
foreach($obj as $key=>$value){
  echo $value['paper_item_id'];
  echo $value['type'];
  etc.......
}

当然,您还需要为此添加HTML标记。