如何在使用json和php时检查foreach循环是否为空

如何在使用json和php时检查foreach循环是否为空,php,json,Php,Json,我使用JSON获取数据,然后使用PHP显示。所以 我正在向一个人显示所有可用的内容,我想在循环为空/空白时回显一条消息“没有可用内容”,因为现在它只是在没有数据时显示一个空白屏幕。。。有什么想法吗 <? foreach($json['available'] as $r) { echo '<li><a href="url.php?id='.$r['id'].'">' .$r['item'].'</a></li>'; }} ?> 用

我使用JSON获取数据,然后使用PHP显示。所以 我正在向一个人显示所有可用的内容,我想在循环为空/空白时回显一条消息“没有可用内容”,因为现在它只是在没有数据时显示一个空白屏幕。。。有什么想法吗

<? 
foreach($json['available'] as $r) { 
echo '<li><a href="url.php?id='.$r['id'].'">' .$r['item'].'</a></li>'; 
}}
?>

用于检查$json是否包含内容。

假设
$json['available']
最坏情况下将是一个空数组:

if (!$json['available']) {
    echo "nothing to show!";
}
else {
    // your current code
}
如果
$json['available']
可能根本不存在,那么可以选择一种更“严厉”的方法

if (empty($json['available'])) {
    echo "nothing to show!";
}

只需使用
if
语句并检查
$json['available']
是否为空

if(空($json['available'])){
echo“
  • 没有可用的项目”
  • ; }否则{ foreach($json['available']作为$r){ 回音“
  • ”; } }
    你也可以计算($json['available']),而不是空($json['available'])@nickb我再次测试,现在我得到消息说每次都没有可用的项目。即使有r项可用-有什么想法吗?@Azukah-是的,available有一个输入错误,这就是为什么你不应该从互联网上复制和粘贴代码的原因之一P我已经纠正了错误。很抱歉,伙计@nickb。从昨天到现在已经是漫长的一天了。不要让我睡觉。我把字段拼错了。再次感谢你,也为你的失态感到抱歉。
    if( empty( $json['available'])) {
        echo '<li>No items are available</li>';
    } else {
        foreach($json['available'] as $r) { 
            echo '<li><a href="url.php?id='.$r['id'].'">' .$r['item'].'</a></li>'; 
        }
    }