小于号的数组元素不打印

时间:2015-03-01 04:53:02

标签: php arrays element

我遇到了PHP问题。当我有以下数组时:

$string = array('<','s');

echo $string[0];
echo $string[1];

什么都没有显示

如果我使用任何其他特殊字符或整数值代替's'

,则打印正常
$string = array('<','1');

echo $string[0];
echo $string[1];

输出:&lt; 1

OR

$string = array('<','1#');

echo $string[0];
echo $string[1];

输出:&lt;#

4 个答案:

答案 0 :(得分:2)

我认为您的输出未按预期显示给您,因为您正在Web浏览器中查看它。任何以&lt;开头的东西后跟字母的字符将被解释为HTML标记。

如果您查看输出的页面来源,您可能会看到您要查找的内容。

我确信PHP有办法将转义的HTML标记输出到页面,但我不熟悉它。

答案 1 :(得分:0)

$string = array('<','s');
echo htmlentities($string[0]);
echo htmlentities($string[1]);

答案 2 :(得分:0)

当您回显'&lt;'时,浏览器会假设您打开了一个标记名称&amp;期待'&gt;'。如你所知,里面的内容&lt; &安培; &GT;是一个标签&amp;不在输出上显示(标签用于格式化和有时样式化页面)。所以,请改用echo htmlspecialchars($string[0])

答案 3 :(得分:0)

小于多于字符通常用于定义html中的元素,因此您必须定义这些字符应输出为“normal字符“代替:

&lt; = less than (<) 
&gt; = more than (>)

在你的例子中:

$string = array(&lt;,'1');

查看http://www.ascii.cl/htmlcodes.htm并查看“html名称列”

您可以查看http://php.net/htmlentities