如何在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));
我的输出显示为使用打印时
密钥:年龄
值:30
当我使用print_r时,我的输出显示为:
密钥:年龄
值:30
使用以下代码:
print "<pre>";
print_r($results);
print "</pre>";
提供以下输出:
[0]=>数组
(
[key]=>年龄
[value]=>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));
与其使用<pre>
,不如通过在一行字符串中回显数组中每个元素的$key和$value来更容易获得结果:
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>";
}