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