Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Echo
Форумы портала PHP.SU » » Вопросы новичков » Echo

Страниц (1): [1]
 

1. Kave - 16 Июля, 2011 - 21:12:22 - перейти к сообщению
По мануалу у нас
void echo ( string $arg1 [, string $... ] )

Делаю:

<?php
$products = array('Покрышки', 'Масло', 'Свечи зажигания');
echo ($products[0], $products[1], $products[2]);
?>

Не фунциклит.

Убираю крулгые скобки:


<?php
$products = array('Покрышки', 'Масло', 'Свечи зажигания');
echo $products[0], $products[1], $products[2];
?>

Фунциклит.

Два вопроса:
1) Почему не фунциклит, как по мануалу.
2) Почему функциклит, как не по мануалу.

В общем, хотел бы я научиться пользоваться мануалом. Но как тут.
2. LIME - 16 Июля, 2011 - 21:26:35 - перейти к сообщению
1. хз)) ...echo никто и никогда не применяет с скобками...короче для меня загадка сам хочу знать ))...возможно запись осталась в мануале с старых версий php ...она настолько обычна что могли и забыть мануал переписать ))
2. вообщето как раз в мануале писано что скобки не обязательны...де факто все без скобок пишут
3. Kave - 16 Июля, 2011 - 21:30:02 - перейти к сообщению
Спасибо.
4. OrmaJever - 16 Июля, 2011 - 21:39:28 - перейти к сообщению
надо читать и описание к функции
http://www.php.net/manual/en/function.echo.php
Цитата:
Additionally, if you want to pass more than one parameter to echo(), the parameters must not be enclosed within parentheses.
5. LIME - 16 Июля, 2011 - 21:43:29 - перейти к сообщению
Цитата:
Вдобавок, если вы хотите передать более одного аргумента в echo(), эти аргументы не обязательно заключать в скобки.

а в переводе напортачили ))
http://www.php.net/manual/ru/function.echo.php
6. OrmaJever - 16 Июля, 2011 - 22:05:57 - перейти к сообщению
Точно напортачили, must not переводится как - строго не должно.
7. alxfro - 19 Июля, 2011 - 21:00:40 - перейти к сообщению
Вообще параметры в функцию передаются в скобках, круглых.
Видимо, разработчики посчитали, что к echo это не относится.
Брр.
Я лично всегда стараюсь заменить echo "trololo"; на ?>trololo<? , во первых, символов меньше, во вторых - интерпретатор не запускает функцию echo, а просто тупо выводится разметка.

Конечно, вывести так переменную $var у вас не получится, и придется таки использовать echo $var;
8. LIME - 19 Июля, 2011 - 21:04:00 - перейти к сообщению
alxfro пишет:
Вообще параметры в функцию передаются в скобках, круглых.

ни echo ни print не являются ф-циями
это операторы
несмотря что со скобками могут быть
9. alxfro - 19 Июля, 2011 - 21:09:28 - перейти к сообщению
LIME пишет:
ни echo ни print не являются ф-циями
это операторы
несмотря что со скобками могут быть


Действительно, в доке написано:

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

Kave, оказывается, надо внимательнее вчитываться в документацию, там все есть Улыбка

 

Powered by ExBB FM 1.0 RC1