Php 一个数组值怎么可能有六个字符长,并且什么也不回显(字符串(6)”?
这真的很奇怪。看看我的屏幕上现在显示的内容:Php 一个数组值怎么可能有六个字符长,并且什么也不回显(字符串(6)”?,php,arrays,Php,Arrays,这真的很奇怪。看看我的屏幕上现在显示的内容: $albumGenre : array(6) { [0]=> string(5) "Noise" [1]=> string(6) " " [2]=> string(5) "Blues" [3]=> string(5) "Blues" [4]=> string(5) "Blues" [5]=> string(5) "Blues" } 这只是以下内容的输出: var_d
$albumGenre : array(6) {
[0]=>
string(5) "Noise"
[1]=>
string(6) " "
[2]=>
string(5) "Blues"
[3]=>
string(5) "Blues"
[4]=>
string(5) "Blues"
[5]=>
string(5) "Blues"
}
这只是以下内容的输出:
var_dump($albumGenre);
你能看到上面写着[1]=>string(6)的地方吗?”???一个数组值怎么可能有六个字符长,但只被视为“”
我知道这个值是多少。这是一个“未知”的mp3标签。好吧,还不知道,我只是想把它处理掉。但是我不能测试它,如果PHP不能可靠地告诉我这个数组值对他来说到底是什么,明白吗
我想我的问题是:我如何才能真正知道数组中的内容?“nt var_dump($array)是了解$array的正确方法吗?可能有6个空格。
当显示在浏览器窗口内时,重复的空格将仅折叠为一个空格。(除非使用
-元素)并非所有字符都可打印。有些显示为空格,有些根本不显示,即文本位置甚至不移动。这还取决于文本的“编码”,以及程序是否使用与文件创建者预期的编码相同的编码。可能是一些“零长度”字符,如ASCII控制字符或Unicode“零长度”空格之一。var\u dump只能打印它看到的可打印字符。如果您真的想知道变量中有什么,可以安装类似的东西
var_dump(' ');
作为一种低保真技术,您当然可以尝试打印单个字符,尽管如果字符串是unicode等格式,这可能会出错。,因为该值是HTML实体
,如
确保您查看源代码,并从var_dump
…复制输出,然后将有6个空白可见-这看起来像text/plain
outputok,感谢您的回答,我想您是对的,这个值包含一些奇怪的内容。我不想处理它,只是扔掉它,那么什么是最安全的方法呢?Pekka,我如何测试那些“零长度”字符?你可以输出字符串中每个字节的十六进制表示,这也适用于Unicode字符串。在var_dump()
@Pekka-好计划中,这确实是一个很好的特性。如果不是UTF-8/16,可能会在(手动)解码前端变得混乱,但这是一个良好的开端。边武,阿贾雷尔!这就是我的价值所在;我受损的大脑没有进行额外的思考。。!谢谢大家!