2015-08-11 2 views
0

Сегодня,Почему поведение эха отличается?

В то время как мы ссылались на книгу, мы выяснили, что эхо имеет несколько параметров, но с небольшим количеством испытаний, что дает нам странное поведение.

Вот тест:

echo("one", "two"); 

И вот еще:

echo "one", "two"; 

Первый тест дает ошибку, но второй isn't..Why?

+4

* Почему * -> прочитать инструкцию: http://php.net/manual/en/function.echo.php * Кроме того, если вы хотите передать ** более одного параметра эхо, параметры не должны быть заключены в круглые скобки. ** * – Rizier123

+2

echo не является функцией; это языковая конструкция, которая может принимать один или несколько аргументов ..... но если вы получаете сообщение об ошибке, сообщите нам, что такое ошибка! Я предполагаю, что вы еще не читали: «Кроме того, если вы хотите передать более одного параметра для эха, параметры должны быть заключены в круглые скобки.» (Мой акцент) –

ответ

2

документация дает ответ:

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

http://php.net/manual/en/function.echo.php

Так, короче говоря: потому что echo не является функцией - пропустить круглые скобки. Вы можете использовать круглые скобки, если хотите откликнуться только на один параметр, но это не так.

<?php 
    echo 'Hello'; //Acceptable 
    echo('Hello'); //Acceptable 
    echo 'Hello ', 'world'; //Acceptable 
    echo ('Hello ', 'world'); //Not acceptable 
?> 
+0

Спасибо. Таким образом, точка, в которой я отсутствовала, была языковой конструкцией. У меня будет больше исследований по этому вопросу. –

Смежные вопросы