Есть ли более простой способ печати массива PHP в строке? - PullRequest
1 голос
/ 26 сентября 2010

Как вы знаете, хороший программист - это ленивый программист, но я просто ленивый.У меня такой вопрос: есть ли более простой способ распечатать элемент массива (из запроса MySQL) в эхо-запросе PHP?

Обычно я делаю это:

echo "string start " . $array['element'] . " string end";

Он работает FINE, я просто хотел бы более короткий способ его распечатать, потому что echo видит бит «['element']» переменной как строку.Я мог бы использовать list (), чтобы получить все элементы, но это не то, что мне нужно.

Итак, есть ли какие-нибудь ответы?

Спасибо за чтение,

Джеймс

Ответы [ 5 ]

4 голосов
/ 26 сентября 2010

На самом деле вы можете просто сделать

echo "string start $array[element] string end";

PHP разрешает переменные в двойных кавычках.При этом, пожалуйста, не надо.

2 голосов
/ 26 сентября 2010
$s = 'string start ';
$e = ' string end';
$v = $arr['element'];

// Now you need only 14 keystrokes:
echo $s.$v.$e;
2 голосов
/ 26 сентября 2010

Замечу, я понимаю, что вы хотите сделать.

Если вы хотите «более короткую» версию, опустите конкатенацию следующим образом:

echo "string start $array[element] string end";

Это также работает:

echo "string start {$array['element']} string end";
1 голос
/ 26 сентября 2010

Поскольку я сильно не люблю интерполяцию переменных в строках, я предпочитаю использовать echo с несколькими аргументами:

echo 'string start ', $array['element'], ' string end';

Помимо того, что он быстрее, чем конкатенация строк (.), он лучше справляется с отображением результатов выражений, поскольку , имеет наименьший из всех приоритетов.

0 голосов
/ 26 сентября 2010

Окружите свой массив {} для интерполяции строк или используйте sprintf

<?php
    $array = array('foo'=>'bar');

    echo "Print it with {}: {$array['foo']}";
    echo "\n";
    echo sprintf("Print it with sprintf: %s", $array['foo']);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...