Дата  Запланированые курсы
24.09 Maya (профессиональный курс)
24.09 MOC-20741B. Сетевая инфраструктура на основе Windows Server 2016
24.09 DEV-J30. Программирование на платформе Java. Разработка многоуровневых приложений
25.09 DEV-PY100. Основы процедурного программирования на языке Python
25.09 DEV-PY-MP. Модульная программа "Разработчик прикладного программного обеспечения (Язык Python)"
01.10 Компьютерное проектирование в системе AutoCAD (профессиональный курс)
01.10 Профессиональная верстка сайтов. HTML5 и CSS3
01.10 Компьютерное проектирование в системе AutoCAD (базовый курс)
01.10 MOC-20762. Разработка баз данных SQL
01.10 DEV-С-CP+. Расширенная комплексная программа «Разработчик прикладного программного обеспечения (Языки С и C++)»
01.10 DEV-C10. Процедурное программирование. Языки С/C++
01.10 Основы алгоритмизации и программирования (Группа I)
01.10 Основы алгоритмизации и программирования (Группа II)
02.10 DEV-J-MP+. Расширенная комплексная программа "Разработчик прикладного программного обеспечения (Язык Java)"
02.10 DEV-J10. Программирование на платформе Java. Введение в язык Java
02.10 DEV-J-MP+. Расширенная комплексная программа "Разработчик прикладного программного обеспечения (Язык Java)"
02.10 DEV-J10. Программирование на платформе Java. Введение в язык Java
08.10 MOC-20764. Администрирование инфраструктуры баз данных SQL
08.10 MOC-20742B. Инфраструктура идентификации на основе Windows Server 2016
08.10 DEV-J60. Технологии разработки корпоративных приложений на платформе Java Enterprise Edition (Java EE)
08.10 Введение в тестирование программного обеспечения
15.10 DEV-OCPJP. Подготовка к сдаче сертификационных экзаменов серии Oracle Certified Professional Java Programmer
15.10 Компьютерное проектирование в системе AutoCAD (профессиональный курс)
15.10 Трёхмерное моделирование. 3ds Max
15.10 Работа в MS Excel. Базовый уровень
16.10 DEV-PY101. Базовые алгоритмы и структуры данных на языке Python
17.10 Инструменты бизнес-анализа Microsoft Excel: PowerPivot, PowerView
22.10 MOC-10987. Настройка производительности и оптимизация баз данных SQL
22.10 Введение в тестирование программного обеспечения
22.10 MOC-20744A. Безопасность инфраструктуры средствами Windows Server 2016
22.10 Средства векторной графики. Adobe Illustrator
22.10 Основы создания веб-сайтов. Adobe Dreamweaver
22.10 Работа в MS Excel. Расширенные возможности
24.10 NET-DLINKSW-LAB. Технологии коммутации современных сетей Ethernet. Лабораторный практикум
25.10 DEV-J20. Программирование на платформе Java. Стандартные пакеты
25.10 DEV-J20. Программирование на платформе Java. Стандартные пакеты
29.10 MOC-10961B. Автоматизация администрирования с Windows PowerShell
29.10 Автоматизация работы в Excel 2010 с использованием макросов VBA
07.11 DEV-C20. Объектно-ориентированное программирование. Базовый уровень. Язык С++
12.11 Компьютерное проектирование в системе AutoCAD (базовый курс)
12.11 Профессиональная верстка сайтов. HTML5 и CSS3
13.11 DEV-PY110. Процедурное программирование на языке Python (расширенный курс)
19.11 DEV-J30. Программирование на платформе Java. Разработка многоуровневых приложений
19.11 DEV-J30. Программирование на платформе Java. Разработка многоуровневых приложений
26.11 Средства растровой графики. Adobe Photoshop
26.11 Поисковая оптимизация (SEO)
03.12 Компьютерное проектирование в системе AutoCAD (базовый курс)
03.12 DEV-C21. Объектно-ориентированное программирование. Углубленное изучение. Язык С++
07.12 DEV-PY200. Объектно-ориентированное программирование на языке Python
10.12 Основы создания веб-сайтов. Adobe Dreamweaver
10.12 Средства векторной графики. Adobe Illustrator
10.12 Поисковая оптимизация (SEO) для профессионалов
17.12 Компьютерное проектирование в системе AutoCAD (профессиональный курс)
09.01 DEV-C22. Стандарт С++11, С++14, С++17 для прикладного программирования
14.01 DEV-OCPJP. Подготовка к сдаче сертификационных экзаменов серии Oracle Certified Professional Java Programmer
14.01 DEV-OCPJP. Подготовка к сдаче сертификационных экзаменов серии Oracle Certified Professional Java Programmer
04.02 DEV-QT10. Прикладное программирование на С++ с использованием Qt. Базовый уровень
11.02 DEV-J60. Технологии разработки корпоративных приложений на платформе Java Enterprise Edition (Java EE)
11.02 DEV-J60. Технологии разработки корпоративных приложений на платформе Java Enterprise Edition (Java EE)
11.03 Введение в тестирование программного обеспечения
11.03 Введение в тестирование программного обеспечения
11.03 Введение в тестирование программного обеспечения
Открыт набор на осенний семестр в Академию информатики для школьников Открыт набор на осенний семестр на программы второго высшего образования
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

логика примера 4.4
rema
#1 Оставлено : 9 сентября 2012 г. 20:40:16(UTC)
Ранг: Новичок

Группы: Зарегистрированные пользователи
Зарегистрирован: 08.09.2012(UTC)
Сообщений: 5
Баллов: 15
Откуда: Earth

Сказал(а) «Спасибо»: 1 раз
Листинг 4.4. Использвание функции isset() для проверки значений переменных:

Код:
<?php
$name='Anna'; $family_name='Nikolaeva'; $age=25;
if (!isset($name)&&!isset($family_name)&&!isset($age) )
{
  echo 'Пожалуйста, укажите все данные.';
  exit;
}
else
{
  echo 'Спасибо, данные записаны.';
}
?>


не понятна логика примера.
в книге написано, что "последний пример позволяет проверить все ли переменные определены"...

но разве мы можем это проверить "логическим И" ?

мы проверяем: если и $name, и $family_name, и $age не равно true, так?

в таком случае, мы увидим Спасибо, данные записаны., если хоть одна из них определена. и не получим Пожалуйста, укажите все данные., если закоментировать $age

другими словами, таким условием не проверить: все ли переменные определены...

или поправьте меня.
Реклама
dexer
#2 Оставлено : 28 сентября 2012 г. 13:24:51(UTC)
Ранг: Новичок

Группы: Зарегистрированные пользователи
Зарегистрирован: 28.09.2012(UTC)
Сообщений: 1
Баллов: 3

Если я ничего не путаю, то функция isset() не проверяет значения переменных.
Она проверяет факт того, что переменная были инициализирована (что ей вообще было присвоено хоть какое-то значение).
Поэтому логика примера абсолютно прозрачна: если было присвоено значение первой, второй и третьей переменным, то все ок.
rema
#3 Оставлено : 28 сентября 2012 г. 17:59:20(UTC)
Ранг: Новичок

Группы: Зарегистрированные пользователи
Зарегистрирован: 08.09.2012(UTC)
Сообщений: 5
Баллов: 15
Откуда: Earth

Сказал(а) «Спасибо»: 1 раз
Речь не о том, что делает isset()

Закоментируй $age.
Получишь: "Спасибо, данные записаны." Но это не так. Потому что переменная не определена.

Надо использовать условие ||, тогда если переменная не определена мы получим: Пожалуйста, укажите все данные. Что есть true)
none
#4 Оставлено : 29 сентября 2012 г. 0:03:40(UTC)
Ранг: Участник

Группы: Зарегистрированные пользователи
Зарегистрирован: 22.01.2003(UTC)
Сообщений: 18
Баллов: 57

Сказал(а) «Спасибо»: 2 раз
Поблагодарили: 1 раз в 1 постах
С точки зрения правила алгебры логики для тернарной конъюнкции пример не верен. Проверяется условие отрицания задания какой-либо из трёх переменных или двух из них, или всех при помощи функции isset. Здесь должна быть дизъюнкция, иными словами, правильный пример:

Код:
<?php
$name='Anna'; $family_name='Nikolaeva'; $age=25;
if (!isset($name)||!isset($family_name)||!isset($age))
{
  echo 'Пожалуйста, укажите все данные.';
  exit;
}
else
{
  echo 'Спасибо, данные записаны.';
}
?>


или уж тогда

Код:
<?php
$name='Anna'; $family_name='Nikolaeva'; $age=25;
if (isset($name)&&isset($family_name)&&isset($age))
{
  echo 'Спасибо, данные записаны.';
  exit;
}
else
{
  echo 'Пожалуйста, укажите все данные.';
}
?>


т.е. налицо явная опечатка BigGrin.
rema
#5 Оставлено : 30 сентября 2012 г. 19:05:01(UTC)
Ранг: Новичок

Группы: Зарегистрированные пользователи
Зарегистрирован: 08.09.2012(UTC)
Сообщений: 5
Баллов: 15
Откуда: Earth

Сказал(а) «Спасибо»: 1 раз
всё бы ничего, но это уже 3-е издание... )
none
#6 Оставлено : 1 октября 2012 г. 12:10:58(UTC)
Ранг: Участник

Группы: Зарегистрированные пользователи
Зарегистрирован: 22.01.2003(UTC)
Сообщений: 18
Баллов: 57

Сказал(а) «Спасибо»: 2 раз
Поблагодарили: 1 раз в 1 постах
Хоть десятое. С такими ошибками очень трудно бороться, инерционное это дело. Некоторые можно исправить только при содействии читателей. Видимо до 3-его издания вообще никто не заморачивался RollEyes
konstvl
#7 Оставлено : 1 марта 2015 г. 13:31:32(UTC)
Ранг: Новичок

Группы: Зарегистрированные пользователи
Зарегистрирован: 01.03.2015(UTC)
Сообщений: 2
Баллов: 6

Российский нанокомпьютер Black Swift gubbank.ru/2015/0...okompyuter-black-swift/ Современная электроника переживает бум миниатюризации — все больше появляется компактных девайсов, которые помогают упростить нашу жизнь. Отечественные разработчики также не остаются в стороне от современных тенденций и разработали нанокомпьютер Black Swift, который подойдет как для энтузиастов, так и, по заявлению создателей, разработки профессиональных решений на его базе.
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest (2)
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.