4
$b = array("one", "two", "three");
$z = implode('<', $b);
var_dump($z);

输出:字符串(13)“一个

谁能解释一下。

PHP 5.4.4

4

3 回答 3

3

查看 html 源代码结果,真实结果是:

string(13) "one<two<three"

正如eis所提到的:

这是它应该做的。您正在浏览器中查看它,它不会按原样显示结果,而是尝试将其呈现为 HTML。

因此,如果您想将其视为纯文本,请简单过滤 html 标签:

<?php
$b = array("one", "two", "three");
$z = implode('<', $b);
$z = htmlspecialchars($z);
var_dump($z);
于 2012-11-04T20:55:49.360 回答
2
>php implode.php
string(13) "one<two<three"

这是它应该做的。您正在浏览器中查看它,它不会按原样显示结果,而是尝试将其呈现为 HTML。

于 2012-11-04T20:52:08.463 回答
0

如果您想将文本打印为 html,请使用特殊字符集:

<?php
$ar = array('one', 'two'/** ... **/);
print implode('&lt;', $ar);

查看所有特殊字符集:http: //www.degraeve.com/reference/specialcharacters.php

于 2012-11-04T21:16:10.690 回答