PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (9): « 1 2 3 4 5 6 7 8 [9]

> Найдено сообщений: 122
Estenny Отправлено: 01 Ноября, 2011 - 16:52:39 • Тема: Проблема с данными • Форум: Вопросы новичков

Ответов: 10
Просмотров: 338
Stierus, ну с переводом в число я понял, а вот как сравнить с переводом в строку?

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.         $users = file('users.txt');
  3.        
  4.         $users[0] = strval($users[0]);
  5.         if ($users[0] == '123') echo 'true'; else echo 'false'; // => false
  6.         echo '<br>';
  7.         if ($users[0] === '123') echo 'true'; else echo 'false'; // => false
  8.         echo '<br>';
  9.         echo gettype($users[0]); // => string
  10. ?>


Получается, что какой бы ни был тип у $users[0], я сделал так, чтобы $users[0] был равен '123', я прав?
Estenny Отправлено: 01 Ноября, 2011 - 16:36:26 • Тема: Проблема с данными • Форум: Вопросы новичков

Ответов: 10
Просмотров: 338
У меня есть файл users.txt, который содержит в себе 2 строки:
Цитата:
123
abc

В моем скрипте я открываю этот файл с помощью file() и, как написано в мануалах этого сайта, мне должен вернутся массив. Как я понимаю, каждый эл-нт массива имеет тип string. Дальше я сравниваю 1 эл-мент из массива с строкой '123'. Выводит false. Если я попытаюсь сравнить не со строкой, а с чистом 123, то выводит true, но если я буду сравнивать по типу элемент и число, то выведет false. А теперь самое интересно: если получить тип элемента массива (gettype), то мне выдаст string! В чем проблема? Объясните, пожалуйста.

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.         $users = file('users.txt');
  3.        
  4.         if ($users[0] == '123') echo 'true'; else echo 'false'; // => false
  5.         echo '<br>';
  6.         if ($users[0] == 123) echo 'true'; else echo 'false'; // => true
  7.         echo '<br>';
  8.         if ($users[0] === 123) echo 'true'; else echo 'false'; // => false
  9.         echo '<br>';
  10.         echo gettype($users[0]); // => string
  11. ?>


Работаю на Ubuntu. К теме прикреплю файл users.txt.

Страниц (9): « 1 2 3 4 5 6 7 8 [9]
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB