这句话有什么问题echo'<option value =“+ $ index +”>'+ $ county [$ index];?</option>

时间:2009-12-26 07:25:20

标签: php string

echo '<option value='+$index+'>'+$county[$index];

这是PHP代码。它没有输出我想要的东西。有什么想法吗?

6 个答案:

答案 0 :(得分:3)

要在PHP中连接文本,请使用.运算符而不是+

echo '<option value='.$index.'>'.$county[$index];

如果您愿意,可以详细了解..=运算符:String Operators

答案 1 :(得分:1)

试试这个:

echo '<option value=' . $index . '>' . $county[$index];

你甚至可以这样做:

echo "<option value={$index}>{$county[$index]}";

答案 2 :(得分:0)

使用:

echo '<option value=' . $index+'>' . $county[$index];

echo "<option value='$index'>$county[$index]";

答案 3 :(得分:0)

echo '<option value="', $index, '">', $country[$index];
echo "<option value='$index'>$country[$index]";
printf('<option value="%s">%s', $index, $country[$index]);

还有其他一些方法(sprintf和echo for one)可以完成同样的事情 随便挑选。

就个人而言,我会使用第一个例子,因为echo需要多个参数。

答案 4 :(得分:0)

使用echo语句,与PHP中的其他内容不同,您还可以使用,进行连接。据说它比.

更快
echo '<option value=' , $index , '>' , $county[$index];

答案 5 :(得分:0)

除了连接运算符为.之外... PHP是一种模板语言。使用它,不要打它!避免在字符串中处理HTML;让PHP自己做。

当您输出任意文本时,请记住HTML-escape,以避免跨站点脚本问题。例如:

<?php
    function h($s) {
        echo htmlspecialchars($s, ENT_QUOTES);
    }
?>
...

<select name="county">
    <?php for ($i= 0; $i<count($county); $i++) { ?>
        <option value="<?php h($i); ?>">
            <?php h($county[$i]); ?>
        </option>
    <?php } ?>
</select>