var_dump($parse);
var_dump($parse['email']);
array(2) {
["type"]=>
string(10) "newsletter"
["email"]=>
" string(34) "ksjdlfjslfkjsadflkjasdf@gmail.com
}
"tring(34) "ksjdlfjslfkjsadflkjasdf@gmail.com
输出看起来很奇怪..类型的type
值看起来不错,但email
看起来很奇怪..引号是类型而不是值
答案 0 :(得分:2)
您转储的电子邮件地址以CR
(“回车”)字符结束。
当它被发送到终端时,CR
字符告诉终端在保留行的同时将光标发送到第一列。然后,发送到终端的下一个字符将打印在同一行上的现有字符上,替换它们。因为CR
是您转储的字符串中的最后一个字符,所以下一个打印的字符是"
(字符串结束标记),它出现在第一列上。在var_dump()
的第二次调用中,该行的第一个字符为string
,"
将覆盖其中的第一个字符。
电子邮件末尾的CR
字符的来源很可能是从Windows上生成的文件加载的错误修剪字符串。 Windows使用一对CR
和LF
字符来标记文本文件的行尾。 Linux和macOS仅使用LF
(“换行”)。
为了正确清理从文件中读取的文本,您应该使用PHP函数trim()
。它从提供的字符串的边界中删除多种类型的空格字符,CR
,LF
和space
是最常见的。
答案 1 :(得分:0)
它的变量类型(字符串)和charcount!检查功能:http://php.net/manual/en/function.var-dump.php
编辑:您编辑了自己的问题。所以现在它显示了你的变量类型(数组)以及有关数组中项目的所有信息。 (type,charcount(length)...)
答案 2 :(得分:0)
var_dump()
显示有关一个或多个表达式的结构化信息,包括其类型,值及其长度。
在您的情况下,34
的长度为string
。
您可以在此处找到更多详细信息:http://php.net/manual/en/function.var-dump.php
答案 3 :(得分:0)
我也有这个以及作为副作用,我无法通过键调用该值,它只是空的所以我搜索并找到了这个帖子。
示例:
$ array = array(1){ ["用户"] => "字符串(9)" jamestoa }
和 <{1}}在控制台上将为空。
这是由字符串末尾的换行符echo $array["user"]
引起的,不知何故导致了这种行为。
您应该使用该电子邮件中的\n
来使其正常运行。
答案 4 :(得分:0)
var_dump显示有关包含其类型和值的一个或多个表达式的结构化信息。递归地探索数组和对象,并使用缩进的值来显示结构。
在你的情况下,由于某种原因,它实际上不是“tring”而是“string”。由于某种原因,倾倒的信息没有得到第一个字母。
“tring(34)”ksjdlfjslfkjsadflkjasdf@gmail.com“是您阵列中的电子邮件变量。
我似乎也在您的代码中看到了错误,这是您获得该输出的原因。
array(2) {
["type"]=>
string(10) "newsletter"
["email"]=>
" string(34) "ksjdlfjslfkjsadflkjasdf@gmail.com
}
"tring(34) "ksjdlfjslfkjsadflkjasdf@gmail.com
在 [“email”] =&gt; 之后,您的结束语应该在电子邮件地址后面。
您的密码:
" string(34) "ksjdlfjslfkjsadflkjasdf@gmail.com
应该如何:
string(34) "ksjdlfjslfkjsadflkjasdf@gmail.com"