PHP – краткая запись операторов…
Ex.clusive | 28.10.2010Продолжаю писать серию статей “Для новичка”. Ранее я уже писал о создании “Счетчика кликов на PHP” и “Выводе информации о сервере посредством PHP“. Сейчас же взбрело в голову написать пару слов о краткой записи различных операторов в PHP. Сам до определённого момента очень не любил их, пока не начал писать достаточно много кода и экономия времени и места на таких мелочах стала весьма ощутима. И так, в данной заметки постараюсь показать на примерах способы краткой записи условного оператора if, операторов присваивания (строковых и математических) и оператора вывода переменных PHP в HTML-коде.
Вывод PHP-переменных в HTML-коде
Первое, что стоит запомнить, это краткие варианты записи оператора объявления начала и конца PHP-фрагмента и применяемый с ним в паре оператор вывода php-переменной, а именно:
//полная запись <a href="index.php"><?php echo $page ?></a> //краткая запись <a href="index.php"><?=$page?></a>
Условный оператор IF
Теперь немного об операторе IF. Для начала, стоит вспомнить про краткую запись самого условия, а именно:
//полная запись if ($a!=0)... if ($a == true)... //краткая запись, аналог каждой из трех, при условии, что $a типа boolean if ($a)...
Теперь, собственно, сам синтаксис краткой записи условного оператора IF:
expression ? true_value : false_value
Теперь рассмотрим пару примеров наипростейших условных выражений на PHP, записанных как в обычной форме, так и в её кратком аналоге:
//полная запись if ($a > 100) {$result = "Больше";} else {$result = "Меньше";} //краткая запись $result = $a > 100 ? "Больше" : "Меньше";
И еще один пример:
//полная запись echo 'Число '.$number; if ($number < 0) echo ' отрицательное'; else echo ' положительное'; //краткая запись echo 'Число '.$number.($number < 0 ? ' отрицательное' : ' положительное');
С этим, оператором, думаю всё понятно.
Операторы присваивания
Здесь все еще проще. Теории тут нет и быть не может, поэтому сразу приведу примеры полной записи некоторых операторов и их же краткие варианты. Все операторы я не перечислю, но дальше догадаться будет не сложно – всё идет по аналогии с упомянутыми:
//полная запись $a=$a+1; $a=$a+5; $a=$a-$b; $a=$a."new_text"; //краткая запись $a++; $a+=5; $a-=$b; $a.="new_text";
Все эти сокращения, на первый взгляд, кажутся ненужными мелочами, но стоит один раз приучить себя к их использованию и Вы уже не захотите возвращаться к полному варианту записи.
P.S. По уже сложившейся традиции, рекомендую непременно почитать свежие Новости ира IT.
$a =0;
var_dump($a!=0); //false
var_dump($a == true); //false
var_dump(isset($a)); // true
// if ($a)
var_dump((bool) $a); //false
Каким образом if($a) может быть аналогом строк которые выше?
Я бы вообще рекомендовал использовать такой код if ($a), только в том случае когда $a boolean
Ну и можно было бы тогда уж добавить и про тернарный оператор в 5.3 в котором можно опустить второй оператор, при этом если первое выражение приводится к значению TRUE, то оно и будет использовано далее.
<?php
echo 1 ?: 0; //вывод: 1
Да, вы правы, if (isset($a)) я сюда по ошибке записал.
А про работу с булевским типом – думал меня и так поймут _) Хотя, надо сказать, что и с числовым выражения справятся одинаково. А вот на строковом if ($a !=0 ) уже будет выдавать отличное от других значение.
(Операторы присваивания)
точно ли $a-=b?
может быть $a-=$b?
Очепятка. Спасибо, поправил.
Неплохой урок новичкам, а то иногда понаписывают что х..й разберешся. Даже помочь им тогда очень сложно. Превращают страницу кода в какую то помойку текста.
Объясните самонадеянному пр*дурку чем различается ‘ ‘ и ” “??
Пизд-ц, как это чем отличается одинарная ковычка и двойная – бери книги и иди учись – лет пять, потом обратно пробовать делать сайты :)
Если по делу, то в одинарных ковычках все написанное (включая спец. символы) однозначно интерпретируется как текст, в двойных – нет, например \n в двойных переход каретки на новую строку, в одинарных просто слеш и буква n…
Вобще нелюблю когда злоупотребляют вот такими вот сокращениями, красивый код тот, который легко понять, понять хуе-ву тучу кавычек, скобок и двоеточий с миллионом вложений друг в друга – это ппц…