所以当我意识到自己没有逃避变量时,我只是想要回避,但奇怪的是它起作用了。
$item = ['name'=>'jeremiah', 'age'=>'22'];
echo "<ul>";
foreach($item as $key => $value) {
echo "<li> $key - $value</li>";
}
echo "</ul>";
当你需要做的就是这个
$item = ['name'=>'jeremiah', 'age'=>'22'];
echo "<ul>";
foreach($item as $key => $value) {
echo "<li>" . $key . " - " . $value . "</li>";
}
echo "</ul>";
自从我真的做了很多php之后已经过了几年,但是这个时候有什么变化?
PHP 7.2.2(cli)(内置:2018年1月31日19:31:15)(NTS MSVC15(Visual C ++ 2017)x64)
答案 0 :(得分:2)
当您将变量放在double quotes
中时,它将解析该值。情况一直如此。
所以:
echo "<li> $key - $value</li>";
并且
echo "<li>" . $key . " - " . $value . "</li>";
会给你相同的结果。
答案 1 :(得分:1)
有几点需要注意:
双引号会在字符串中打印变量:
$var = 'hello';
echo "$var world"; # this will print hello world
单引号不会在字符串中打印变量值:
$var = 'hello';
echo '$var world'; # this will print $var world
你所追求的(或以为你曾经想过的)是连接,这只是意味着加入,就像这样:
$varOne = 'hello';
$varTwo = 'world';
echo $varOne. ' ' .$varTwo. ' - some other string'; # will print hello world - some other string
最佳做法是单引号和连接,这是因为能够清楚地看到变量在字符串中的使用时间,第三个选项比第一个选项更清晰。此外,单引号的执行速度比双引号要快(不是很多,因为它会加起来)。
答案 2 :(得分:0)
据我所知,当我开始学习PHP(5年前),在双引号之间,你可以回显变量,但不能在单引号之间。