Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: О знамёнах в php
 
 автор: Владимир22   (15.08.2006 в 20:25)   письмо автору
 
 

Мельком во многих учебниках описываются переменные, типа $flag.
Кто доступно разъяснит: для чего эти флаги нужны т какие функции, они выполняют.
Что например, означает: $flag=0; и пр. ???

   
 
 автор: Киналь   (15.08.2006 в 20:33)   письмо автору
 
   для: Владимир22   (15.08.2006 в 20:25)
 

В данном случае это не все-таки не знамя, а именно флаг=) Ну, например, в начале скрипта вы вычисляете какое-то логическое выражение (допустим, авторизован ли пользователь, есть ли у него права админа, не забанен ли он и так далее). Результат присваиваете переменной $flag. Далее в скрипте в любых количествах можно вставлять конструкции

if ($flag)
{
// показать нечто, скрытое от простых юзеров
}

   
 
 автор: RV   (15.08.2006 в 20:33)   письмо автору
 
   для: Владимир22   (15.08.2006 в 20:25)
 

это вполне обычная переменная как и все обычные. название у нее просто такое

   
 
 автор: Shorr Kan   (15.08.2006 в 20:35)   письмо автору
 
   для: Владимир22   (15.08.2006 в 20:25)
 


<?
$flag
=0;

if(
file_exists('file') and file_get_contents('file2')>555 and $_SERVER['REMOTE_ADDR']=='199.199.199.199'){$flag=1;}

if(
$flag==1){print "привет";}

?>


понимаете? То есть, один из вариантов применения - проверить где нужно определенные условия... и если все эти многочисленные условия удовлетворены - $flag=1 ... и ниже, чтобы такой длинный if не писать - можно проверять просто - чему равна переменная $flag

С тем же успехом, вместо $flag можно использовать $aaa ... это просто переменная, названная, используя богатство фантазии автора.

Есть и другие методы применения... Например, защита инклудов.

   
 
 автор: LasChes   (16.08.2006 в 12:52)   письмо автору
 
   для: Shorr Kan   (15.08.2006 в 20:35)
 

А можно пример про защиту include();
Спасибо.

   
 
 автор: cheops   (16.08.2006 в 13:05)   письмо автору
 
   для: LasChes   (16.08.2006 в 12:52)
 

Под новые вопросы лучше заводить новые темы.

   
 
 автор: cheops   (16.08.2006 в 12:38)   письмо автору
 
   для: Владимир22   (15.08.2006 в 20:25)
 

Это переменные эмулируют булево сотояние, т.е. переменные которые могут принимать только два значения: ЛОЖЬ (0, false) и ИСТИНА (всё что больше нуля, true). Если переменная принимает значение ИСТИНА - флаг поднят, если ЛОЖЬ - флаг опущен (сброшен). Когда вы видите флаг, в подавляющем большинстве случаев - это булево состояние (если программист не выпендивается и не использует это название не по назначению).

   
 
 автор: Axxil   (16.08.2006 в 13:06)   письмо автору
 
   для: cheops   (16.08.2006 в 12:38)
 

Но обычно используют "говорящие" имена флагов
Например $fl_member или $fl_moder
И сразу понятно, что переменные определяют статус пользователя.

   
 
 автор: cheops   (16.08.2006 в 13:09)   письмо автору
 
   для: Axxil   (16.08.2006 в 13:06)
 

Да лучше не использовать имя flag вне учебных примеров, так как само по себе имя ни о чём не говорит.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования