如你所知,一个优秀的程序员是一个懒惰的程序员,但我只是懒惰。我的问题是:有没有更简单的方法在PHP echo语句中打印出一个数组元素(来自MySQL查询)?
我通常这样做:
echo "string start " . $array['element'] . " string end";
它的工作很精细,我只想用一种较短的打印方式,因为echo将变量的“['element']”位视为一个字符串。我可以使用list()来获取所有元素,但这不是我所追求的。
那么,那里有什么答案吗?
感谢阅读,
詹姆斯
答案 0 :(得分:4)
你实际上可以做到
echo "string start $array[element] string end";
PHP允许双引号字符串中的变量。话虽如此,请不要。
答案 1 :(得分:2)
我注意到我知道你想要做什么。
如果你想要一个“更短”的版本,请省略这样的连接:
echo "string start $array[element] string end";
这也有效:
echo "string start {$array['element']} string end";
答案 2 :(得分:2)
$s = 'string start ';
$e = ' string end';
$v = $arr['element'];
// Now you need only 14 keystrokes:
echo $s.$v.$e;
答案 3 :(得分:1)
由于我非常不喜欢在字符串中插入变量,所以我更喜欢使用带有几个参数的echo:
echo 'string start ', $array['element'], ' string end';
除了速度快于字符串连接(.
)之外,它更能处理表达式的回显结果,因为,
具有所有优先级中最低的。
答案 4 :(得分:0)
使用{}围绕数组进行字符串插值,或使用sprintf
<?php
$array = array('foo'=>'bar');
echo "Print it with {}: {$array['foo']}";
echo "\n";
echo sprintf("Print it with sprintf: %s", $array['foo']);