16.11.2017, 00:06
|
Кандидат Javascript-наук
|
|
Регистрация: 04.11.2017
Сообщений: 117
|
|
Сообщение от Nexus
|
Lion777,
Вы использовали конкатекацию строк в связке с print и считаете, что это более "правильно", чем заюзать echo?
|
И чем теперь конкатенация вам не угодила ? )))
|
|
16.11.2017, 00:09
|
Профессор
|
|
Регистрация: 04.12.2012
Сообщений: 3,795
|
|
Lion777,
Сообщение от Lion777
|
И чем теперь конкатенация вам не угодила ?
|
Зачем использовать 3 операции там, где можно использовать одну?
|
|
16.11.2017, 00:13
|
Профессор
|
|
Регистрация: 04.12.2012
Сообщений: 3,795
|
|
Сообщение от Lion777
|
Ну, так объясните в чем глобальная разница и где мне лучше использовать то или другое ?
|
В этом примере вы не сможете заменить "print" на "echo" не изменяя условия:
if(true and false or print('some text'))
echo PHP_EOL,
'true';
PS. Разница между конструкциями есть, однако если использовать конструкции исключительно для вывода информации, то тут можно использовать любую из них, разница будет незаметна.
Последний раз редактировалось Nexus, 16.11.2017 в 00:16.
|
|
16.11.2017, 00:18
|
Кандидат Javascript-наук
|
|
Регистрация: 04.11.2017
Сообщений: 117
|
|
Сообщение от Nexus
|
Lion777,
Зачем использовать 3 операции там, где можно использовать одну?
|
вы думаете внутренне в echo делается одна операция? Там не происходит, например, конкантенация или циклом выводятся данные? А телодвижений ровно столько же, что и при echo, только там запятые, а тут точки, а ну да, print на один символ больше чем echo ))
|
|
16.11.2017, 00:28
|
Профессор
|
|
Регистрация: 04.12.2012
Сообщений: 3,795
|
|
Сообщение от Lion777
|
вы думаете внутренне в echo делается одна операция
|
Кто знает.
Может вы заморочитесь и найдете в исходниках реализацию этой конструкции, чтобы доказать мою неправоту)
И, кстати, да, я думаю, что конкатекация в "echo" не имеет место быть
|
|
16.11.2017, 00:34
|
Кандидат Javascript-наук
|
|
Регистрация: 04.11.2017
Сообщений: 117
|
|
Сообщение от Nexus
|
В этом примере вы не сможете заменить "print" на "echo" не изменяя условия:
if(true and false or print('some text'))
echo PHP_EOL,
'true';
|
Ну в этом примере конечно не смогу ))), но смысла в нем не вижу, ведь print всегда возвращает 1
---
Сообщение от Nexus
|
И, кстати, да, я думаю, что конкатекация в "echo" не имеет место быть
|
И почему же ? ))) чем она хуже запятых, есть аргументы ? Мы вот счас спорим непонятно о чем, с одной лишь разницей, что я не доказываю что лучше, а говорю о том "что не хуже" (одна не хуже другой)
Последний раз редактировалось Lion777, 16.11.2017 в 00:39.
|
|
16.11.2017, 00:36
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
Сообщение от Lion777
|
А телодвижений ровно столько же, что и при echo, только там запятые, а тут точки
|
Это не точки и запятые - echo в отличии от print может принимать несколько аргументов. Что касается просто "пофиг, выводит да и ладно", конечно можно и так колбасить:
<div><?php print 'text'?></div>
но все таки проще так:
<div><?='text'?></div>
и это будет выведено именно с использованием echo, print тут никак не прокатит так как результатом будет не
<div>text</div>
а
<div>text1</div>
ибо print являясь конструкцией ведет себя как функция, которая всегда возвращает 1. Вот так не получится:
expression ? echo 1 : echo 0
а так прокатит:
expression ? print 1 : print 0
с echo только с выносом конструкции за пределы выражения
echo expression ? 1 : 0
Открывайте матчасть, читайте.
|
|
16.11.2017, 01:24
|
Кандидат Javascript-наук
|
|
Регистрация: 04.11.2017
Сообщений: 117
|
|
Ахах, начнем с конца )))
конечно так не напишешь
expression ? echo 1 : echo 0
ведь echo ничего не возвращает и в чем тут преимущество ?
echo expression ? 1 : 0;
от
print expression ? 1 : 0; или expression ? print 1 : print 0; ?
Данная конструкция<?='text'?>
это всего лишь альтернативный способ записи echo и конечно если в ней написать <div><?= print 'text'?></div> то выведет text1, ведь это тоже, что написать echo print text;,
ну а если уж так написать <?php print 'text'?> то вся программа пойдет на перекосяк )))... И что вы хотели доказать ? Поумничать ? Преимущество в чем ? Что тот, что тот могу использовать во всех конструкциях, так что лучше то ???
|
|
16.11.2017, 01:55
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
Lion777,
учите матчасть, ибо вы не понимаете о чем говорите. Может после прочтения поймете, чем выгоднее запятая от точки.
Без обид, но вы несете такую пургу, что вести диалог далее нет никакого смысла.
|
|
16.11.2017, 02:10
|
Кандидат Javascript-наук
|
|
Регистрация: 04.11.2017
Сообщений: 117
|
|
Да какие тут обиды ))), дайте ссылку почитать о точках с запятыми, а то походу весь инет пургу несет )))
|
|
|
|