Как проверить, возвращает ли ajax-вызов пустой массив массивов - PullRequest
0 голосов
/ 27 сентября 2018

У меня есть скрипт php, который возвращает JSON-кодированный массив.Он работает правильно, но мне нужно проверить, если он пуст.Моя проблема заключается в том, что это массив массивов.Как правильно проверить наличие пустого массива на стороне сервера?

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)

но не сработало.Я пытаюсь получить доступ к неправильному массиву?Если так, как я могу получить доступ к правильному, чтобы проверить отсутствие данных?

Ответы [ 2 ]

0 голосов
/ 27 сентября 2018

$response никогда не будет пустым, но $response['data'] или $data может быть

$response - это массив с ключом с именем «data», поэтому его размер всегда будет равен 1.

0 голосов
/ 27 сентября 2018

вам нужно проверить данные в $, например:

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