检查 JSON 数组是否包含数据

时间:2021-04-08 04:52:52

标签: php arrays json

我有一小段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",
  }
]

无匹配行:

[]

1 个答案:

答案 0 :(得分:0)

您需要像下面这样更改您的条件:

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);
}

参考:count()

注意:您也可以使用 sizeof()

示例:https://3v4l.org/i5sZ8https://3v4l.org/8rtb1

相关问题