Главная :: Форум :: Web ClipArt :: Поиск :: Статистика :: Топ 10 :: Публикация :: Рекомендовать
netadmin.ws
Панель управления Регистрция свободна! Календарь Список пользователей Часто задаваемые вопросы Поиск по форуму Архив скриптов Главная   
Форум сетевых администраторов
Форум сетевых администраторов Форум сетевых администраторов » Программирование » PHP » Устное и практическое решение
Предыдущая тема     Следующая тема
Автор
Тема    Новая тема     Ответить на эту тему
Alex_k
Участник

Зарегистрирован: Jun 2001
Место проживания: Украина, Киев
Публикаций: 15
Статус: Alex_k в оф-лайне
Устное и практическое решение [сообщение #70378]

Есть скрипт:

$i=0;

echo "ДО * $i<br>";

if ( $i == 'Блин' ) {
echo '<h2>Вы этого не должны видеть, Блин!!!</h2>';
$i = 'Блин';
}

echo "ПОСЛЕ * $i<br>";


Вопрос:
Чему равняется переменная $i в конце при выводе?
Ð_ешите его устно и практически.

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 04-09-2004 14:50
Нажмите сюда для просмотра профайла Alex_k Отправить Персональное сообщение Alex_k Посетить домашнию страничку Alex_k! Найти сообщения от Alex_k Добавить Alex_k в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
DimonT
Участник+
Средний рейтинг: 5 | Оценок: 12
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Apr 2004
Место проживания: Питер
Публикаций: 38
Статус: DimonT в оф-лайне
[сообщение #70385]

там к целым числам все преобразовывается при сравнении...
так что должен получиться блин =)

__________________
вот так вот...

ICQ 937160

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 04-09-2004 21:15
Нажмите сюда для просмотра профайла DimonT Отправить Персональное сообщение DimonT Посетить домашнию страничку DimonT! Найти сообщения от DimonT Добавить DimonT в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
Alex_k
Участник

Зарегистрирован: Jun 2001
Место проживания: Украина, Киев
Публикаций: 15
Статус: Alex_k в оф-лайне
[сообщение #70389]

Целые числа?
Поставте в начале $i=1;

Вопрос стоит опять, почему ноль дает TRUE?

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 05-09-2004 00:08
Нажмите сюда для просмотра профайла Alex_k Отправить Персональное сообщение Alex_k Посетить домашнию страничку Alex_k! Найти сообщения от Alex_k Добавить Alex_k в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
polo
Администратор
Средний рейтинг: 4.77 | Оценок: 106
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: May 2001
Место проживания:
Публикаций: 4642
Статус: polo в оф-лайне
[сообщение #70390]

Потому-что строка преобразуется в число, т.е. получаеться 0==intval('блин'). Используй идентичность ===, в этом случае сравниваються не только значения но и типы переменных.

__________________
Всегда есть решение.

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 05-09-2004 03:07
Нажмите сюда для просмотра профайла polo Отправить Персональное сообщение polo Посетить домашнию страничку polo! Найти сообщения от polo Добавить polo в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
Alex_k
Участник

Зарегистрирован: Jun 2001
Место проживания: Украина, Киев
Публикаций: 15
Статус: Alex_k в оф-лайне
[сообщение #70421]

Обьясните что происходит если $i=TRUE; и $i=FALSE;
при этом вторая часть неважно какая 'Блин' только не 0 или '0'.
Здеси получается все наоборот.
При таких значениях получается что игнорируется ==
И если TRUE то условие выполняется, и если FALSE то нет.
При сравнении с нулем в строке или числом условие опять нарушается.
Какой принцип выполнения такого условия.

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 06-09-2004 15:11
Нажмите сюда для просмотра профайла Alex_k Отправить Персональное сообщение Alex_k Посетить домашнию страничку Alex_k! Найти сообщения от Alex_k Добавить Alex_k в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
lord
Участник
Средний рейтинг: 5 | Оценок: 1

Зарегистрирован: Oct 2001
Место проживания:
Публикаций: 33
Статус: lord в оф-лайне
[сообщение #70494]

quote:
Первоначальное сообщение от Alex_k
Обьясните что происходит если $i=TRUE; и $i=FALSE;
при этом вторая часть неважно какая 'Блин' только не 0 или '0'.
Здеси получается все наоборот.
При таких значениях получается что игнорируется ==
И если TRUE то условие выполняется, и если FALSE то нет.
При сравнении с нулем в строке или числом условие опять нарушается.
Какой принцип выполнения такого условия.



В первом случае "Блин" приводится к int, во втором к boolean, вот и получается:


PHP:

$i
=0;
$i == 'str' # приводится к int, 0 == 0

$i=false;
$i == 'str' # приводится к bool, false == 0, т.е.  false

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 09-09-2004 10:28
Нажмите сюда для просмотра профайла lord Отправить Персональное сообщение lord Найти сообщения от lord Добавить lord в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя



Формат времени GMT. Текущее время 08:54.
Новая тема   Ответить на эту тему [ Версия для печати Печать | Отправить эту страницу другу/знакомому! Отправить | Получать уведомления об обновлении этой темы Подписка ] Предыдущая тема     Следующая тема
Навигация по форуму:
Оценка темы:

Правила форума:
Вы не можете создавать новые темы.
Вы не можете отвечать на существующие темы.
Вы не можете прикреплять файлы.
Вы не можете редактировать свои сообщения.
HTML теги выкл.
Спец. код вкл.
Смайлики вкл.
[IMG] тег выкл.
 

Page generated in 0.06838107 seconds (90.57% PHP - 9.43% MySQL) with 26 queries.


  Главная :: Форум :: Web ClipArt :: Поиск :: Статистика :: Топ 10 :: Публикация :: Рекомендовать
©NetAdmin.ws, 2001-2026.
Powered by: vBulletin
Copyright ©2000, 2001, Jelsoft Enterprises Limited.