连接说明

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)

我的使用方式".问题一样吗?

mpe*_*pen 5

你也可以把它写成

 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它不是一个函数,所以它们不是真正的"参数",但它会让你通过用逗号分隔它们来输出多个东西.