Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #21 (permalink)  
Старый 16.11.2017, 00:06
Кандидат Javascript-наук
Отправить личное сообщение для Lion777 Посмотреть профиль Найти все сообщения от Lion777
 
Регистрация: 04.11.2017
Сообщений: 117

Сообщение от Nexus Посмотреть сообщение
Lion777,

Вы использовали конкатекацию строк в связке с print и считаете, что это более "правильно", чем заюзать echo?
И чем теперь конкатенация вам не угодила ? )))
Ответить с цитированием
  #22 (permalink)  
Старый 16.11.2017, 00:09
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,795

Lion777,
Сообщение от Lion777
И чем теперь конкатенация вам не угодила ?
Зачем использовать 3 операции там, где можно использовать одну?
Ответить с цитированием
  #23 (permalink)  
Старый 16.11.2017, 00:13
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 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.
Ответить с цитированием
  #24 (permalink)  
Старый 16.11.2017, 00:18
Кандидат Javascript-наук
Отправить личное сообщение для Lion777 Посмотреть профиль Найти все сообщения от Lion777
 
Регистрация: 04.11.2017
Сообщений: 117

Сообщение от Nexus Посмотреть сообщение
Lion777,

Зачем использовать 3 операции там, где можно использовать одну?
вы думаете внутренне в echo делается одна операция? Там не происходит, например, конкантенация или циклом выводятся данные? А телодвижений ровно столько же, что и при echo, только там запятые, а тут точки, а ну да, print на один символ больше чем echo ))
Ответить с цитированием
  #25 (permalink)  
Старый 16.11.2017, 00:28
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,795

Сообщение от Lion777
вы думаете внутренне в echo делается одна операция
Кто знает.
Может вы заморочитесь и найдете в исходниках реализацию этой конструкции, чтобы доказать мою неправоту)

И, кстати, да, я думаю, что конкатекация в "echo" не имеет место быть
Ответить с цитированием
  #26 (permalink)  
Старый 16.11.2017, 00:34
Кандидат Javascript-наук
Отправить личное сообщение для Lion777 Посмотреть профиль Найти все сообщения от Lion777
 
Регистрация: 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.
Ответить с цитированием
  #27 (permalink)  
Старый 16.11.2017, 00:36
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 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

Открывайте матчасть, читайте.
Ответить с цитированием
  #28 (permalink)  
Старый 16.11.2017, 01:24
Кандидат Javascript-наук
Отправить личное сообщение для Lion777 Посмотреть профиль Найти все сообщения от Lion777
 
Регистрация: 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'?> то вся программа пойдет на перекосяк )))... И что вы хотели доказать ? Поумничать ? Преимущество в чем ? Что тот, что тот могу использовать во всех конструкциях, так что лучше то ???
Ответить с цитированием
  #29 (permalink)  
Старый 16.11.2017, 01:55
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Lion777,
учите матчасть, ибо вы не понимаете о чем говорите. Может после прочтения поймете, чем выгоднее запятая от точки.

Без обид, но вы несете такую пургу, что вести диалог далее нет никакого смысла.
Ответить с цитированием
  #30 (permalink)  
Старый 16.11.2017, 02:10
Кандидат Javascript-наук
Отправить личное сообщение для Lion777 Посмотреть профиль Найти все сообщения от Lion777
 
Регистрация: 04.11.2017
Сообщений: 117

Да какие тут обиды ))), дайте ссылку почитать о точках с запятыми, а то походу весь инет пургу несет )))
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Переход по локальной ссылке срабатывает только один раз gnplsk Events/DOM/Window 1 09.07.2016 18:50
Переход по ссылке metlick Общие вопросы Javascript 2 26.12.2015 18:11
Плавный переход к элементу по внешней ссылке deniskutovskiy jQuery 13 16.10.2015 22:30
Вырубить переход по ссылке mycoding Общие вопросы Javascript 11 05.11.2010 22:44
переход по ссылке через N секунд jerryfish Events/DOM/Window 4 23.02.2010 17:05