如何检查 ajax 调用是否返回空数组数组



我有一个返回JSON编码数组的php脚本。它工作正常,但我需要检查它是否为空。我的问题在于它是一个数组数组。 如何正确检查服务器端的空数组?

PHP脚本(重要的东西(

$data = array();
foreach ($results = $db->getRows('SELECT * FROM users WHERE username !=?', [$username]) as $result) {
$name = $result['username'];
$lat = $result['lat'];
$lng = $result['lng'];
$distance = getDistance($user_lat, $user_lng, $lat, $lng);
if(withinRange($distance, $selected_distance, $selected_distance + 4)) {       
//This is what's populated if data is available
$data[] = array('name'=>$name, 'lat'=>$lat, 'lng'=>$lng); 
}
$response = array('data' => $data);
echo json_encode($response);

如果数据存在,则如下所示:

{"data":[{"name":"test_user2","lat":"35.932517","lng":"-89.905343"}]}

我试过:

if(empty($response)
if(count($response) < 1)

但两者都没有奏效。我是否尝试访问错误的阵列?如果是这样,如何访问正确的数据以检查没有数据?

$response永远不会为空,但$response['data']$data可能是

$response是一个数组,其中包含一个名为"data"的键,因此大小将始终为 1。

您需要检查$data,如下所示:

if(sizeof($data) === 0){echo "Empty";}

最新更新