04:59 

[ok] Синтаксис языка PHP (4.4)

alhames
alhames.ru
Вопрос_____________________________________________
Какие теги для вставки php-кода лучше использовать:
<?php ... ?>
или
<? ... ?>


Ответ_____________________________________________
Принципиальной разности необнаружено. Но если вы хотите перестраховаться, то можете использовать <?php


Вопрос_____________________________________________
В чем отличие echo от print?

Ответ_____________________________________________
Print была унаследована из C и является устаревшей конструкцией.
Было выявленно два незначительных отличия:
<?php
$a 
= echo "aaa"// выдает ошибку
$b = print "bbb"// возвращает 1
//----------------------------------------
echo "and a "123// можно задать несколько параметров
print "and a "123// выдает ошибку
?>
На практике они не играют роли, т.к. эти конструкции никто не присваивает, а совместить строки можно с помощью оператора склеивания строк (".").


У меня два вопроса касательно чистоты кода:
1. Что лучше использовать: "<?php ... ?>" или "<? ... ?>"? В чем различия?
2. Чем отличается echo от print?

@темы: PHP, Синтаксис

Комментарии
2007-11-11 в 09:39 

[php]
1. Ни в чем имхо, хотя может есть серверы которые по другому не воспримут скрипт, хз)

2.
echo — Output one or more strings
print — Output a string

php.net/echo
php.net/print

2007-11-11 в 12:23 

Джей Ди
Всё будет Кока-Кола.
alhames
а) <??> использовать временами удобнее так как можно быстрее вставить, НО!!! Некторые сервара настроены так что не воспринимают таги <??> как таги ПХП, поэтому советую всегда использовать <?php?>
б) Для меня самое большое различие, что в принт строки можно форматировать. А так по жизни польщуюсь только ехо и ускоренным выводом.

2007-11-11 в 15:08 

[php]
int printf ( string format [, mixed args] )
Выводит строку, отформатированную в соответствии с аргументом format, описанном в документации функции sprintf().
Возвращает длину выведенной строки

int print ( string arg )
Выводит arg. Всегда возвращает 1.

2007-11-11 в 16:20 

Джей Ди
Всё будет Кока-Кола.
[php] а ну может быть, мне лично для работы всегда хватает echo. ^^

2007-11-11 в 17:42 

[php]
Волчонок Джей
я тоже долго думал над echo и print - в итоге решил, что print тупо красивее смотрится, а echo быстрее писать... может быть, есть какое-нибудь отличие поглобальнее, не знаю)
может, echo будет работать так
echo "fgdfg
вапвап
вап
вапвап
"

а print не будет - но вроде работает..) хз

2007-11-11 в 17:49 

Всё будет Кока-Кола.
[php] у каждого свои привычки, благо ПХП позволяет)

2007-11-11 в 18:21 

 
echo - конструкция языка, а print - функция, и может быть использована как функция (callback, например)

www.faqts.com/knowledge_base/view.phtml/aid/1/f...

2007-11-11 в 19:32 

[php]
echo - конструкция языка, а print - функция, и может быть использована как функция (callback, например)www.faqts.com/knowledge_base/view.phtml/aid/1/f...

зачитался) спасиб за ссыль)

2007-11-12 в 01:42 

alhames
alhames.ru
2. Значит, вот что дали мои эксперименты:
//----------------------------------------
$a=echo "aaa"; //выдаст ошибку
$b=print "bbb"; //вернет 1
//----------------------------------------
echo "and a ", 1, 2, 3; //(основываясь на FAQ) можно задать несколько параметров
print "and a ", 1, 2, 3; //выдаст ошибку
//----------------------------------------

Вопрос: что это за параметры и как их можно использовать на практике?0_0

L.P.M.
echo - конструкция языка, а print - функция
"..Поскольку это языковая конструкция, а не функция.." (c) php.net
Че-то я запутался... Так функция или нет?0_0

2007-11-12 в 01:49 

 
Че-то я запутался... Так функция или нет?0_0
черт, что-то я не то сказал)
print() ведет себя как функция, а echo - нет

что это за параметры и как их можно использовать на практике?0_0
echo принимает несколько параметров и все они по очереди будут выведены
$foo = 123;
echo "abc", $foo, "test";
// вывод: abc123test

а print так не может

2007-11-12 в 01:58 

alhames
alhames.ru
L.P.M.
echo принимает несколько параметров и все они по очереди будут выведены
Гм.. А не проще использовать оператор склеивания строк - "."? Ведь и принт и эхо одинакого его обрабатывают..

2007-11-12 в 02:07 

 
alhames, честно говоря, хз =)
я думаю, это просто один из тех фактов, которые нужно просто отложить в памяти, дабы в нужный момент вспомнить и понять, что так удобнее. Возможно, когда-нибудь такая возможность облегчит генерацию кода для последующего исполнения eval()'ом, или просто облегчает читаемость кода) Если честно, сам никогда и нигде не пользовался возможностью передачи функции вывода нескольких аргументов, но присутствует она почти во всех языках. И ведь зачем-то это надо?)

2007-11-12 в 02:09 

alhames
alhames.ru
L.P.M. оки, сойдемся на этом ^__^

2007-11-12 в 02:10 

 
^__^

2007-12-24 в 16:56 

Shul
echo кушает меньше памяти)

2007-12-24 в 17:23 

Джей Ди
Всё будет Кока-Кола.
Shul а вот это уже интересное утверждение... пойдука заодно проверю эти функции циклом... на время выполнения...

2007-12-25 в 01:07 

alhames
alhames.ru
Волчонок Джей ты ток не забудь с нами результатом поделиться =)

     

@web-программирование

главная