Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 显示Json列表中的类似单词_Php_Json - Fatal编程技术网

Php 显示Json列表中的类似单词

Php 显示Json列表中的类似单词,php,json,Php,Json,我试图从json文件的关键字列表中显示包含搜索关键字中的单词的单词,但显示的数据无法解决问题 要显示的结果: 程序员PHP Java程序 代码如下: Json: PHP: $q=“程序员”; $url='what.json'; $content=file\u get\u contents($url); $json=json_decode($content,true); $count=0; foreach($json['list']作为$i){ 回声“”; $count++; 如果($cou

我试图从json文件的关键字列表中显示包含搜索关键字中的单词的单词,但显示的数据无法解决问题

要显示的结果:

  • 程序员PHP
  • Java程序
代码如下:

Json:

PHP:

$q=“程序员”;
$url='what.json';
$content=file\u get\u contents($url);
$json=json_decode($content,true);
$count=0;
foreach($json['list']作为$i){
回声“
  • ”; $count++; 如果($count>=6){ 打破 } }
    这些词必须有多相似?为什么
    程序员PHP
    程序Java
    被认为是相似的,而
    程序员C++
    不是?谁说“程序员C++”不是?为了不继续写作,我写了“…”。基本上,包含关键字“Programmer”的单词被认为是类似的。它对我有效,检查url是否正确。如果你只是想检查
    $q
    是否出现在你的列表中,在回显之前对它进行if测试:
    foreach($json['list']as$i){if(strpos($i['value'],$q)!==false){echo“
  • ”;$count++;如果($count>=6){break;}}}
    否则,在代码似乎不正确的地方,您将得到空白条目(最多6个)。没有输出任何内容?解码结果如何?在$json上尝试一个
    var\u dump
    {
       "list":[
          {
             "key":"Programmer PHP",
             "value":"Programmer PHP"
          },
          {
             "key":"Programmer JAVA",
             "value":"Programmer JAVA"
          },
          {
            "key":"Programmer C++",
             "value":"Programmer C++"
          }
       ]
    }
    
    $q = "Programmer";
    $url = 'what.json';
    $content = file_get_contents($url);
    $json = json_decode($content, true);
    $count = 0;
    foreach($json['list'] as $i){
    
        echo "<li><a href=''>".strstr($i['value'],$q)."</a></li>";
        $count++;
        if($count >= 6){
            break;
        }
    }