Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/310.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_Arrays_Json - Fatal编程技术网

Php 检查JSON数组是否包含数据

Php 检查JSON数组是否包含数据,php,arrays,json,Php,Arrays,Json,我有一小段PHP,它查询数据库以查找匹配值,当数据库中有匹配行时(如下面的第二个代码示例所示),代码成功地打印返回值,当它打印“[]”(如下面的第三个代码示例所示)时没有匹配行时,就会出现问题 PHP代码: $QueryString = $_POST['QueryString']; //Query Database For ID $result = $connection->query("$QueryString"); //Initialize array vari

我有一小段PHP,它查询数据库以查找匹配值,当数据库中有匹配行时(如下面的第二个代码示例所示),代码成功地打印返回值,当它打印“[]”(如下面的第三个代码示例所示)时没有匹配行时,就会出现问题

PHP代码:

$QueryString = $_POST['QueryString'];

//Query Database For ID
$result = $connection->query("$QueryString");

//Initialize array variable
$query = array();

//Fetch into associative array
while ($row = $result->fetch_assoc())
{
    $query[] = $row;
}


if (isset($query)) {
    echo json_encode($query, JSON_PRETTY_PRINT);
} elseif (empty($query)) {
    echo json_encode("No Matching Record Found", JSON_PRETTY_PRINT);
} else {
    echo json_encode("An Unkown Error Occurred", JSON_PRETTY_PRINT);
}
匹配行:

[
  {
    "A": "One",
    "B": "Two",
    "C": "Three",
  }
]
[]
没有匹配的行:

[
  {
    "A": "One",
    "B": "Two",
    "C": "Three",
  }
]
[]

您需要改变您的状况,如下所示:

if (count($query) > 0 ) { //check array have any value or not?
    echo json_encode($query, JSON_PRETTY_PRINT);
} else{
    echo json_encode("No Matching Record Found", JSON_PRETTY_PRINT);
}
参考:

注意:您也可以使用

示例:和

if(isset($query))
在这里毫无意义。当然,这个变量是设置好的,您自己用
$query=array()设置的