Ответов: 10 Просмотров: 338
|
У меня есть файл users.txt, который содержит в себе 2 строки:
В моем скрипте я открываю этот файл с помощью file() и, как написано в мануалах этого сайта, мне должен вернутся массив. Как я понимаю, каждый эл-нт массива имеет тип string. Дальше я сравниваю 1 эл-мент из массива с строкой '123'. Выводит false. Если я попытаюсь сравнить не со строкой, а с чистом 123, то выводит true, но если я буду сравнивать по типу элемент и число, то выведет false. А теперь самое интересно: если получить тип элемента массива (gettype), то мне выдаст string! В чем проблема? Объясните, пожалуйста.
PHP:
скопировать код в буфер обмена
<?PHP $users = file('users.txt'); if ($users[0] == '123') echo 'true'; else echo 'false'; // => false echo '<br>'; if ($users[0] == 123) echo 'true'; else echo 'false'; // => true echo '<br>'; if ($users[0] === 123) echo 'true'; else echo 'false'; // => false echo '<br>'; echo gettype($users[0 ]); // => string ?>
Работаю на Ubuntu. К теме прикреплю файл users.txt. |