(PHP)
Что произойдет, если я попытаюсь получить неопределенный размер переменной с помощью метода sizeof?
Подобно:
<?
print_r(sizeof($undefined_variable));
Я могу это сделать?
Какова ценность?
На моей детской площадке всегда возникают ошибки, но когда я пытаюсь этот код:
<?
print_r(sizeof($undefined_variable));
exit();
Мне так любопытно после ошибки, почему я возвращаю нулевое значение. Извините за мой плохой английский
sizeof
точный псевдоним count
, count()
может только вернуть количество элементов в объекте, если объект взаимодействует с Countable
Интерфейс, которого нет неопределенной переменной, которая вызывает ошибку.
Однако причина, по которой выводится 0, состоит в том, что print_r выводит 0 каждый раз, когда происходит ошибка.
например попробуйте:
print_r(4 + hello);
Он по-прежнему выдает 0. Ошибка не является фатальной, поэтому программа продолжает выполняться.
Чтобы ответить на второй вопрос, попробуйте следующий код:
for ($i=0; $i<sizeof($undefined_variable); $i++) {
echo $i;
}
echo "Hi";
Только «Привет» получит вывод. Ошибка прерывает весь цикл for.
sizeof () — это массив функций, который возвращает размер массива,
так что вы получите предупреждение php о переменной (не декальдировано), а также
0 как результат.
Из руководства по функции — count ():
Caution count () может вернуть 0 для переменной, которая не установлена, но может
также вернуть 0 для переменной, которая была инициализирована с пустым
массив. Используйте isset (), чтобы проверить, установлена ли переменная.
sizeof является псевдонимом count.
Увидеть: http://php.net/manual/en/function.count.php
Следовательно:
<?php
print_r(sizeof($undefined_variable));
Будет выводить:
0
Как sizeof($undefined_variable)
оценивает 0
, а также print_r(0)
результаты в 0
,