Ошибка в коде php в массиве

366
10 февраля 2017, 06:27
<?php
error_reporting(-1);
$a = array(
    'name' => 'Nick',
    'soname' => 'Gromyko'
    );
    echo (Имя $a ['name']);
?>

пишет, что в 10 строке ошибка

Answer 1

И не удивительно. Следует делать так:

echo 'Имя '.$a['name'];

Все слова и другое, что выводим с помощью echo, следует помещать в кавычки. Документация.

Причём следует различать двойные и одинарные кавычки. В данном случае правильнее будет использовать одинарные (Документация). Читай ниже!

upd!!! Касательно кавычек на последних версиях php можно почитать вот тут. Очень интересно и опровергает вышесказанное. В связи с этим оптимальный по быстродействию вариант следующий:

echo "Имя ${a['name']}";
Answer 2

Выбирайте какой нравится:

<?php
$a = ["name" => "User"];
// По сути просто как шаблон с переменной, на самом деле в данном случаее(printf/sprintf) лучше!
echo "Name {$a['name']}";
echo PHP_EOL;
// сначала печатает первую част, потом вторую... равансильно 2-м echo
echo "Name ", $a['name'];
echo PHP_EOL;

// Объединяет 2 строки в одну (конкатенация `.`) потом печатает.
echo "Name " . $a['name'];
echo PHP_EOL;
// http://php.net/manual/ru/function.printf.php
// http://php.net/manual/ru/function.sprintf.php
// Очень полезные функции форматирования, ну и код легче читать
printf ("Name %s", $a['name']);
echo PHP_EOL;
printf ("Name %s%s", $a['name'], PHP_EOL);
echo sprintf ("Name %s", $a['name']);
echo PHP_EOL;
// ПС: `PHP_EOL` платформенно независимое окончание строки ;)

Спор про двойные одинарные ковычки, ни о чем. Так экономия на спичках. Помните что " позволяют использовать в них переменные без конкотенации, а удобно это или нет зависит от использования!

<?php
    $a = "User";
    echo "Name $a";  // prints Name User
    echo 'Name $a';  // prints Name $a

Документация про строки в PHP:

http://php.net/language.types.string

Answer 3

Исправьте строчку на:

echo "Имя " . $a['name'];
READ ALSO
Реализация методов класса PHP

Реализация методов класса PHP

Я имею следующие классы:

406
Сборка geoip.so для hhvm 3.17

Сборка geoip.so для hhvm 3.17

В процессе сборки расширения geoipso для hhvm 3

281
Проблема в подключении стилей в теме wordpress

Проблема в подключении стилей в теме wordpress

Не получается подключить стилиВ файле index

387
Работа с датой время [требует правки]

Работа с датой время [требует правки]

В бд хранится дат время в таком формате 1486983600187Как мне получить читабельный? PHP

317