Arc*_*eld -2 php concatenation
我需要一个明确的解释.
看看代码
<?php
$user_id = $_GET['user_id'];
include "../database.php";
$query="SELECT name FROM user WHERE user_id='$user_id'";
$result=mysqli_query ($connect, $query);
while($data = mysqli_fetch_array ($result))
{
$name=$data['name'];
echo"<tr><td>$name</td></tr>";
}
?>
Run Code Online (Sandbox Code Playgroud)
当我改变这个时,代码仍然有效..
echo"<tr><td>".$data['name']."</td></tr>";
Run Code Online (Sandbox Code Playgroud)
但是,当我改变这个,它不起作用..
echo"<tr><td>$data['name']</td></tr>";
Run Code Online (Sandbox Code Playgroud)
我的使用方式"和.问题一样吗?
你也可以把它写成
echo "<tr><td>{$data['name']}</td></tr>";
Run Code Online (Sandbox Code Playgroud)
要么
echo "<tr><td>$data[name]</td></tr>";
Run Code Online (Sandbox Code Playgroud)
或者(有趣的事实并没有太多人知道):
echo '<tr><td>', $data['name'], '</td></tr>';
Run Code Online (Sandbox Code Playgroud)
这只是PHP的语法.阅读官方网站上的字符串.
.用于连接.双引号支持"插值",但您必须正确使用它.如果你想访问一个数组索引,要么放在{}变量周围,要么放弃'(我相信只有一层深度).
最后一种语法对于echo来说是特殊的.echo它不是一个函数,所以它们不是真正的"参数",但它会让你通过用逗号分隔它们来输出多个东西.