Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 一个数组值怎么可能有六个字符长,并且什么也不回显(字符串(6)”?_Php_Arrays - Fatal编程技术网

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,可能会在(手动)解码前端变得混乱,但这是一个良好的开端。边武,阿贾雷尔!这就是我的价值所在;我受损的大脑没有进行额外的思考。。!谢谢大家!