Как проверить, возвращает ли вызов ajax пустой массив массивов

У меня есть скрипт 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)

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

$response никогда не будет пустым, но $response['data'] или $data могут быть пустыми.
Felippe Duarte 26.09.2018 23:47

@FelippeDuarte Отправьте это как ответ.

Barmar 26.09.2018 23:49

Я понял это, но если вы хотите ответить, я дам вам баллы принятия.

DevOpsSauce 26.09.2018 23:50
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
3
188
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

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

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

Ага. Это именно то, что я делал неправильно. Доступ к неправильному массиву. Спасибо.

DevOpsSauce 26.09.2018 23:51

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

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

Спасибо, что указали на эту вторую часть @Felippe. Я должен был знать лучше.

DevOpsSauce 26.09.2018 23:57

Другие вопросы по теме