встроенные методы — что произойдет, если я попытаюсь получить размер неопределенной переменной? (PHP)

(PHP)
Что произойдет, если я попытаюсь получить неопределенный размер переменной с помощью метода sizeof?

Подобно:

<?
print_r(sizeof($undefined_variable));

Я могу это сделать?
Какова ценность?

На моей детской площадке всегда возникают ошибки, но когда я пытаюсь этот код:

<?
print_r(sizeof($undefined_variable));
exit();

Размер неопределенной переменной картинки

Мне так любопытно после ошибки, почему я возвращаю нулевое значение. Извините за мой плохой английский

-1

Решение

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.

-1

Другие решения

sizeof () — это массив функций, который возвращает размер массива,
так что вы получите предупреждение php о переменной (не декальдировано), а также
0 как результат.

-1

Из руководства по функции — 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,

-1
По вопросам рекламы [email protected]