与PHP中的逗号混淆

时间:2016-09-06 16:00:21

标签: php

我知道这是一个愚蠢的问题,但我很努力,但我无法弄清楚我在哪里错过逗号,我完全感到困惑,下面的代码给了我一个错误。

如果有人可以通过引用逗号和提示/技巧来帮助我,那就太棒了。

我尝试在不同的地方更换逗号,但它仍然没有成功。

   <td><?php echo <a href="test1.php?id=<?php echo $row['ID'];?>"/>Download! ?></a></td>

谢谢:)

5 个答案:

答案 0 :(得分:1)

必须是:

<td>
    <?php
        echo '<a href="test1.php?id=' . $row['ID'] . '">Download!</a>';
    ?>
</td>

可替换地:

<td>
    <a href="test1.php?id=<?=$row['ID']?>">Download!</a>
</td>

答案 1 :(得分:0)

<td><a href="test1.php?id=<?php echo $row['ID'];?>"/>Download!</a></td>

试试这个

答案 2 :(得分:0)

要记住的一件重要事情是,您不必使用echo输出静态HTML内容,仅用于动态部分,在您的情况下是变量。正确的版本如下:

<td><a href="test1.php?id=<?php echo $row['ID'];?>"/>Download!</a></td>

答案 3 :(得分:0)

直接方法通常是:

<td><a href="test1.php?id=<?php echo $row['ID'];?>">Download!</a></td>

通常它可以缩短,具体取决于你的php配置:

<td><a href="test1.php?id=<?= $row['ID'] ?>">Download!</a></td>

对我而言,第二种形式更具可读性,因此我的个人偏好。

答案 4 :(得分:0)

有一个带有开启/关闭php标记的冗余echo,您也错误地自行关闭了a标记。

在你的html模板中写下来就足够了:

<td>
    <a href="test1.php?id=<?php echo $row['ID'];?>">Download!</a>
</td>

<?php?>之间的代码是php代码,它被注入&#34;在html。

$row是数组,使用$row['ID'],您可以从数组ID获取特定键的值。您也可以使用双引号(例如$row["ID"])访问此键的值,因为您希望访问由值为ID的字符串引用的键。您可以使用单引号或双引号来包含字符串。 更多关于php手册中的字符串:http://php.net/manual/en/language.types.string.php

如果你想在字符串中使用相同的引号,你必须像

一样逃避它
<?php 
echo "This is double quote: \"."; //result: This is double quote: ".
?>

与单引号相同:

<?php 
echo 'This is single quote: \'.'; //result: This is single quote: '. 
?>

您可以使用数组中的值回显一些其他字符串,例如:

<?php echo "this row has id: " . $row["ID"]; ?>

所以你用字符串和点连接字符串和值。

或者您可以在字符串中访问变量的值,如:

<?php
$rowId = 1;
echo "this row has id: $rowId"; //result: this row has id: 1
?>

但很难发现它,很多IDE都不会强调它。更好的方法是将它与句点(echo "this row has id: " . $rowId;)连接起来。

您也可以从数组中指定值,但是必须用{}将其括起来,以便php引擎知道它是数组变量而不是文字

<?php echo "this row has id: {$row["ID"]}"; ?>

或对象属性:

<?php echo "this row has id: {$row->id}"; ?>

但是当你这样写它时,也很难发现它。

当你想要写下所有这些代码时,你可以用单引号括起来:

<?php
echo '<?php echo "this row has id: {$row["ID"]}"; ?>'; //result: <?php echo "this row has id: {$row["ID"]}"; ?>
?>

或转义所有双引号和美元符号$,结果将相同:

<?php echo "<?php echo \"this row has id: {\$row[\"ID\"]}\"; ?>"; ?>