От автора: у моего друга супруга очень ревнивая! Но товарищ все сносит и терпит, поскольку сильно любит с зазнобу. Вот только от чеснока, которым постоянно приправляет жена «рабочий» перекус мужа у него развилась страшная изжога. И чтобы не расстраивать любимую товарищ решил подрабатывать сайтостроением (денег на нормальную еду). Специально для него сегодня рассмотрим, как проверить массив PHP. Получается, что мы не только изучим новую тему, а и поможем человеку :).
Зачем проверять?
Программный код, как и человека (если не доверяете ему), лучше проверить. А то случившийся из-за излишней доверчивости (или безалаберности) разработчика баг может негативно сказаться на работоспособности всего приложения. Причем это может быть не только обидно, но и чревато:
Пострадает репутация авторитет всей команды разработчиков.
Не получите деньги за проект – созданное вами решение не пройдет тестирование.
Время на переделку – а это снова связано с финансовыми потерями.
В общем, проверять нужно любой программный код. Именно поэтому в любом языке «навалом» различных встроенных функций, начинающихся с префикса is. Не является исключением и PHP.
Эти функции чаще всего возвращают значение типа bool. С их помощью удобно проверять код (переменные) на соответствие каким-либо условием. Например, можно удостовериться, что переменная является массивом. Для этого применим функцию is_array():
1 2 3 4 5 6 7 8 9 10 11 12 |
<?php $peremennaya=array('элемент1','элемент2','элемент3'); if (is_array($peremennaya)) { echo "Переменная является массивом."; } else { echo "Переменная не является массивом."; } ?> |
Проверяем пустоту
Теперь научимся, в PHP как можно проверить, что массив не пустой. Для этого используем языковую конструкцию empty.
1 2 3 4 5 6 7 8 9 10 11 |
<?php $peremennaya=array('','',''); if (empty($peremennaya)) { echo "Массив не пустой."; } else { echo "Массив пустой."; } ?> |
В предыдущем примере массив не является пустым – значение каждого из его элементов равно пробелу. Но empty воспринимает это как «пустоту». Также данная конструкция вернет false и в следующих случаях:
1 2 3 4 |
<?php $peremennaya=array('0','0','0'); $peremennaya=array('0.0','0.0','0.0'); ?> |
Другие варианты
Для проверки можно применять еще одну встроенную функцию – isset(). Она также возвращает true, если задано значение переменной. Тогда проверка нашего массива будет выглядеть так:
1 2 3 4 5 6 7 8 9 10 11 |
<?php $peremennaya=array('','',''); if (isset($peremennaya)) { echo "Массив не пустой."; } else { echo "Массив пустой."; } ?> |
Но использование этой функции нежелательно, поскольку она будет возвращать всегда true, если значение переменной не равно NULL.
Мы разобрались, в PHP как проверить массив на пустоту. А что, если нужно проверить содержимое каждого элемента массива? Пример реализации:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
<?php $peremennaya=array('','2',''); for($n=0; $n <count($peremennaya); $n++) { if (empty($peremennaya[$n])) { echo "Элемент $n пустой"."<br />"; } else { echo "Элемент $n не пустой"."<br />"; } } ?> |
С массивами на сегодня все. А также не забываем, что мы спасли человека от изжоги. Получается, что программирование на PHP избавляет от различных хворей не хуже самых дорогих лекарств :).