Ввиду того, что много людей пишут код перемешивая блоки HTML/PHP (что должно бы быть запрещено..., - самое неразборчивое, что я увидел), всегда я рекомендую писать единственный блок, где прилагается единственная переменная, окруженная двойными кавычками.
В случае arrays, код в этих случаях может писаться так:
$html="Este es el valor de clave1: $mArray[clave1]";
$html.="... más cosas";
$html.=" y este es el valor de clave2: $mArray[clave2]";
echo $html;
Окончательно, я могу в цепи, окруженной двойными кавычками использовать что-то как $mArray[clave]
, но если я это делаю прямо, функционируй, но брось Notice.
$mArray=array("clave"=>"valor");
echo "El valor es: $mArray[clave]";
Выход:
El valor es: valor
$mArray=array("clave"=>"valor");
echo "El valor es: ".$mArray[clave];
Выход:
PHP Notice: Use of undefined constant clave - assumed 'clave' in ...
El valor es: valor
Кто-то знает, из чего проистекает это поведение в PHP? Во втором случае покажи информацию, но брось Notice. Он не был бы должен бросать Notice также в первом случае, так как я использую clave
просто так? Почему он не бросает Notice?