PHP. Как пользоваться функцией вывода echo

<?php
 $fruits= array( "apple" , "orange" , "cucumber");
  while ( list ($key , $value ) = each ( $fruits) );
  {
	  	 echo "$key" ;
	    echo  " $value "  ;
	 
  }
 ?>

Как правильно выводить текст , переменные ? Необходимо ли ставить точку запятой , если вывод в цикле , или нет ? В Хольцнере точки запятой нет , хотя это ошибка . Постоянно путаюсь . Есть разные варианты :

echo " $a , $b" ;
echo "$a" ;
echo "$b";
vedro-compota's picture

PHP это довольно вольный язык - есть много дублирования и альтернатив - многим это нравится))

начнём с того, что если вы хотите просто напечатать переменную до достаточно написать:

echo $a;

в двойные кавычки переменные можно встраивать, но нет смысла окружать ими единственную переменную.
Насчёт употребления скобок читайте здесь - особенно раздел "Примеры".

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

  1. В одинарных кавычках строка выводится "как есть"
  2. В двойных переменные (то что начинается с доллора, если доллар не экранирован слэшем) заменяются значениями этих переменных

И да - можно или складывать строки либо передавать несколько аргументов.

_____________
матфак вгу и остальная классика =)

DenDroiD's picture

Прототип echo

void echo ( string arg1 [, string argn...] )

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

echo $arg1, $arg2, $arg3, "какая-то строка", $arg4;

Можно и через конкатенацию, но это будет работать дольше:

echo $arg1.$arg2.$arg3."какая-то строка".$arg4;

Другие примеры использования с сайта http://www.php.su/echo

<?php
echo "Привет мир!";

echo "Это занимет
несколько строк. Переводы строки тоже
выводятся";

echo "Это занимет\nнесколько строк. Переводы строки тоже\nвыводятся";

echo "Экранирование символов делается \"Так\".";

// с echo можно использовать переменные ...
$foo = "foobar";
$bar = "barbaz";

echo "foo - это $foo"; // foo - это foobar

// ... и массивы
$bar = array("value" => "foo");

echo "это {$bar['value']} !"; // это foo !

// При использовании одиночных кавычек выводится
// имя переменной,а не значение
echo 'foo - это $foo'; // foo - это $foo

// можно вывести просто значения переменных
echo $foo;          // foobar
echo $foo,$bar;     // foobarbarbaz

// Некоторые предпочитают передачу нескольких аргументов
// вместо конкатенации
echo 'Эта ', 'строка ', 'была ', 'создана ', 'несколькими параметрами.', chr(10);
echo 'Эта ' . 'строка ' . 'была ' . 'создана ' . 'с помощью конкатенации.' . "\n";