Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/241.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 如果玩家数组为空,则echo“;“无在线玩家”;_Php_List - Fatal编程技术网

Php 如果玩家数组为空,则echo“;“无在线玩家”;

Php 如果玩家数组为空,则echo“;“无在线玩家”;,php,list,Php,List,我想要它,这样如果阵列中有玩家,它就会带着图片返回。到目前为止,这是可行的。不起作用的是,当阵列中没有玩家时,它将返回一张空白图片,并且不会回显“无玩家在线” $query=(Minequery::query(“67.202.102.224”); $plist=$query['playerList']; foreach($plist作为$k=>$v) //print_r(Minequery::query_json(“67.202.102.224”); 如果(定义为($plist)){ 回声';

我想要它,这样如果阵列中有玩家,它就会带着图片返回。到目前为止,这是可行的。不起作用的是,当阵列中没有玩家时,它将返回一张空白图片,并且不会回显
“无玩家在线”

$query=(Minequery::query(“67.202.102.224”);
$plist=$query['playerList'];
foreach($plist作为$k=>$v)
//print_r(Minequery::query_json(“67.202.102.224”);
如果(定义为($plist)){
回声';
}否则{
echo“没有在线玩家”;
}   
空数组(例如
array()
)等于
false
,这意味着使用一个简单的if子句可以处理:

if ($plist) {
    echo '<img src="http://minotar.net/avatar/'.$v.'" title="'.$v.'" height="50" width="50"> ';  
} else {
    echo 'No Players Online ';
}
if($plist){
回声';
}否则{
echo“没有在线玩家”;
}
但是,在循环之前,您需要检查:

if (!$plist) {
    echo 'No Players Online';
} else {
    foreach($plist as $k => $v) {
        echo '<img src="http://minotar.net/avatar/'.$v.'" title="'.$v.'" height="50" width="50">';
    }
}
if(!$plist){
echo“没有在线玩家”;
}否则{
foreach($plist作为$k=>$v){
回声';
}
}
注意:您需要最新版本的才能正常工作。有一个bug已经修复。现在

如果在HTML中使用
$v
,也要注意正确编码,而不是因为它包含HTML,然后预期的HTML就会被破坏。看

与使用它的URL类似,如果您没有正确地对其进行URL编码,URL可能会被破坏。请参阅。

空数组(例如
array()
)等于
false
,这意味着使用一个简单的if子句可以处理:

if ($plist) {
    echo '<img src="http://minotar.net/avatar/'.$v.'" title="'.$v.'" height="50" width="50"> ';  
} else {
    echo 'No Players Online ';
}
if($plist){
回声';
}否则{
echo“没有在线玩家”;
}
但是,在循环之前,您需要检查:

if (!$plist) {
    echo 'No Players Online';
} else {
    foreach($plist as $k => $v) {
        echo '<img src="http://minotar.net/avatar/'.$v.'" title="'.$v.'" height="50" width="50">';
    }
}
if(!$plist){
echo“没有在线玩家”;
}否则{
foreach($plist作为$k=>$v){
回声';
}
}
注意:您需要最新版本的才能正常工作。有一个bug已经修复。现在

如果在HTML中使用
$v
,也要注意正确编码,而不是因为它包含HTML,然后预期的HTML就会被破坏。看


与使用它的URL类似,如果您没有正确地对其进行URL编码,URL可能会被破坏。看。

你有点把车放在马前面了:

$query = (Minequery::query("67.202.102.224"));
$plist = $query['playerList'];
foreach($plist as $k => $v)
    //print_r(Minequery::query_json("67.202.102.224"));
    if (defined($plist)){
        echo'<img src="http://minotar.net/avatar/'.$v.'" title="'.$v.'" height="50"            width="50">  ';  
    }
    else {
        echo 'No Players Online';
    } 
$query=(Minequery::query(“67.202.102.224”);
$plist=$query['playerList'];
foreach($plist作为$k=>$v)
//print_r(Minequery::query_json(“67.202.102.224”);
如果(定义为($plist)){
回声';
}
否则{
echo“没有在线玩家”;
} 
在开始尝试遍历数组后,您将检查该数组是否包含内容。试试这个:

$query = (Minequery::query("67.202.102.224"));
$plist = $query['playerList'];
if (!empty($plist)) {
    foreach($plist as $k => $v) {
        echo '<img src="http://minotar.net/avatar/'.$v.'" title="'.$v.'" height="50" width="50">  ';  
    }
}
else {
    echo 'No Players Online';
}
$query=(Minequery::query(“67.202.102.224”);
$plist=$query['playerList'];
如果(!空($plist)){
foreach($plist作为$k=>$v){
回声';
}
}
否则{
echo“没有在线玩家”;
}

你有点把车放在马的前面:

$query = (Minequery::query("67.202.102.224"));
$plist = $query['playerList'];
foreach($plist as $k => $v)
    //print_r(Minequery::query_json("67.202.102.224"));
    if (defined($plist)){
        echo'<img src="http://minotar.net/avatar/'.$v.'" title="'.$v.'" height="50"            width="50">  ';  
    }
    else {
        echo 'No Players Online';
    } 
$query=(Minequery::query(“67.202.102.224”);
$plist=$query['playerList'];
foreach($plist作为$k=>$v)
//print_r(Minequery::query_json(“67.202.102.224”);
如果(定义为($plist)){
回声';
}
否则{
echo“没有在线玩家”;
} 
在开始尝试遍历数组后,您将检查该数组是否包含内容。试试这个:

$query = (Minequery::query("67.202.102.224"));
$plist = $query['playerList'];
if (!empty($plist)) {
    foreach($plist as $k => $v) {
        echo '<img src="http://minotar.net/avatar/'.$v.'" title="'.$v.'" height="50" width="50">  ';  
    }
}
else {
    echo 'No Players Online';
}
$query=(Minequery::query(“67.202.102.224”);
$plist=$query['playerList'];
如果(!空($plist)){
foreach($plist作为$k=>$v){
回声';
}
}
否则{
echo“没有在线玩家”;
}

使用
!empty()
而不是
defined()
这是您正在使用的PHP库吗?是的。我只是输出一个玩家列表,如果它返回为空,我只想让它说没有玩家在线使用
!empty()
而不是
defined()
这是您正在使用的PHP库吗?是的。我只是输出一个玩家列表,如果它返回为空,我只希望它说没有玩家在线我不知道为什么…但仍然没有有效的解决方案。当没有玩家在线时,它仍然会显示一张空图片,并且不会显示没有玩家在线。我已经尝试了所有的解决方案=/好的,做一个
echo'',htmlspecialchars(print\r($plist,1)),''并告诉输出是什么。数组中可能只有一个空值,所以数组在技术上不是空的。考虑使用<代码> VARYDUPP而不是<代码> PrrtPyr。然后您需要查看源代码,返回的结果是:array(1){[0]=>string(0)”“}int(1),正如我假设的,它不是空的。看起来这是PHP类中的一个缺陷。您应该提交指向此处的错误报告。该漏洞是类执行的无效输入清理。而是使用
json\u查询
它不应该有那个缺陷。我不知道为什么……但仍然没有有效的解决方案。当没有玩家在线时,它仍然会显示一张空图片,并且不会显示没有玩家在线。我已经尝试了所有的解决方案=/好的,做一个
echo'',htmlspecialchars(print\r($plist,1)),''并告诉输出是什么。数组中可能只有一个空值,所以数组在技术上不是空的。考虑使用<代码> VARYDUPP而不是<代码> PrrtPyr。然后您需要查看源代码,返回的结果是:array(1){[0]=>string(0)”“}int(1),正如我假设的,它不是空的。看起来这是PHP类中的一个缺陷。您应该提交指向此处的错误报告。该漏洞是类执行的无效输入清理。而是使用
json\u查询
,它不应该有那个缺陷。