2016-02-26 3 views
-1

У меня есть массив как это:Как проверить, содержит ли массив пустой массив?

array(1) { 
    ["trace"]=> 
     array(0) { 
     } 
} 

Я хочу проверить, если trace пуст или нет, если я делаю это:

if(!empty($contents['trace'])) 
{ 
    echo "not empty"; 
} 

echo является printend, но не должен. Что я делаю не так?

+0

if (array_filter ($ array ['trace'])) { echo "not empty"; } else { \t echo "empty"; } – devpro

ответ

2

Попробуйте count() с isset():

if(isset($contents["trace"]) && count($contents["trace"])>0){ 
    echo "not empty"; 
} else { 
    echo "empty"; 
} 

Причина использовать их обоих, потому что если вы только использование count() но массив не установлен, то он выдаст сообщение об ошибке. Использование isset() в качестве условия будет означать, что условие count() будет проверяться только в том случае, если массив существует.


Ссылка:

+1

Кажется, работает, спасибо :) – Sandokan

1

Вы можете рассчитывать массив, используя count()

if(count($contents["trace"]) > 0){ 
    echo "Array is not empty."; 
} else { 
    echo "Array is empty."; 
} 

Дополнительная информация о count() по адресу http://www.w3schools.com/php/func_array_count.asp.

Смежные вопросы