如何让php搜索中的键和值显示在同一行

时间:2016-05-05 14:58:58

标签: php json search

如何让JSON数据的php搜索查询中的键和值显示在同一行。我的代码列在下面,并显示密钥,然后显示在下一行的值。

function funTimes($tree)
{
    echo '<pre>';
    foreach($tree as $key => $item) {
        if (is_array($item)) {
            echo '<pre>', $key ;
            funTimes($item);
            echo '</pre>';
        } else {
            echo '<pre>', $item, '</pre>'; 
        }
    }
    echo '</ul>';
}

print(funTimes($results));

其中一个输出是年龄字段,它在一行上有年龄,然后在下一行显示实际年龄。当我在下面使用以下代码时:

function funTimes($tree)    
 {
    foreach($tree as $key => $item)   
    {
      if (is_array($item))  
      {
        echo "{<br>";  
        funTimes($item);  
        echo "}<br>";  
      }
      else  
      {
        echo trim($key).": ".trim($item)."<br>";  
      }
    }
}
print(funTimes($results));

我的输出显示为使用print

时的输出 关键词:年龄
价值:30

当我使用print_r时,我的输出显示为:

关键词:年龄
价值:30

使用以下代码:

print "<pre>";
print_r($results);
print "</pre>";

给我以下输出:
   [0] =&gt;阵列
     (
         [key] =&gt;年龄
         [value] =&gt; 30个
     )

根据Webeng的回复,我已经更新了答案,下面的代码为我提供了我正在寻找的解决方案,并且在同一条线上有关键和价值:

function funTimes($tree)
{
    foreach($tree as $key => $item) 
    {
      if (is_array($item))
      {
        echo "<br>";
        funTimes($item);
        echo "<br>";
      }
      else
      {
        echo $item." ";
      }
    }
}

print(funTimes($results));

1 个答案:

答案 0 :(得分:0)

不是使用<pre>,而是通过在一个有字符串的字符串中回显它们来获得将数组中每个元素的$ key和$值彼此相邻的结果更容易:

echo $key.": ".$item."<br>";

例如:

function funTimes($tree)
{
    foreach($tree as $key => $item) 
    {
      if (is_array($item))
      {
        echo "{<br>";
        funTimes($item);
        echo "}<br>";
      }
      else
      {
        echo $key.": ".$item."<br>";
      }
    }
}

如果这对您有用,请告诉我。

<强>编辑:

根据你给我的评论,似乎导致不同行的原因可能是字符串中的字符。替换此代码:

 echo $key.": ".$item."<br>";

使用此代码:

 echo trim($key).": ".trim($item)."<br>";

trim()函数的作用是删除字符串参数开头和结尾处的任何空格字符。让我知道它现在是否有效。

编辑2:

在阅读了更新的答案和评论之后,这就是我提出的代码:

例如:

function funTimes($tree)
{
    foreach($tree as $key => $item) 
    {
      if (is_array($item))
      {
        echo "{<br>";
        funTimes($item);
        echo "}<br>";
      }
      else
      {
        echo $item." : ";
      }
    }
    echo "<br>";
}