Php 关联数组的元素,当通过键访问时返回NULL,即使存在值
这是一个很奇怪的问题,我只是不知道发生了什么 我有一个关联数组存储在一个名为Php 关联数组的元素,当通过键访问时返回NULL,即使存在值,php,Php,这是一个很奇怪的问题,我只是不知道发生了什么 我有一个关联数组存储在一个名为$suppliers的变量中 这是一个稍微清理过的var\u转储($suppliers): 我试图在foreach循环中访问Company元素,如下所示: foreach( $suppliers as $supplier ): var_dump( $supplier['Company'] ); endforeach; 但我每次都会得到这个值的NULL。可以从循环内访问所有其他值: foreach( $s
$suppliers
的变量中
这是一个稍微清理过的var\u转储($suppliers)
:
我试图在foreach循环中访问Company元素,如下所示:
foreach( $suppliers as $supplier ):
var_dump( $supplier['Company'] );
endforeach;
但我每次都会得到这个值的NULL。可以从循环内访问所有其他值:
foreach( $suppliers as $supplier ):
var_dump( $supplier['Company'] );
var_dump( $supplier['Website'] );
endforeach;
返回:
NULL
string(20) "http://microsoft.com"
NULL
string(17) "http://google.com"
我已经检查了不可见字符、字符编码问题,似乎没有任何东西可以直接输出Company元素的值
如果我这样做:
foreach( $suppliers as $supplier ):
foreach( $supplier as $key => $value ):
var_dump( $supplier[$key] );
endforeach;
endforeach;
我能够输出“Company”元素,但这是它工作的唯一方式
有什么想法吗?除了元素键中的不可见字符或编码问题之外,是否还有其他原因可能导致类似问题?[“公司”]中似乎有一个坏字符
您可以将代码修改为以下内容,以确认存在错误字符:
foreach( $suppliers as $supplier ):
foreach( $supplier as $key => $value ):
var_dump( htmlentities($key) );
endforeach;
endforeach;
这将为我返回以下内容:
string(28) "Company"
string(7) "Website"
string(6) "Brands"
string(8) "Contacts"
尝试执行echo var_dump($suppliers[0]['Company'])查看它是否返回任何内容。哈哈!非常感谢。我依靠IDE的“显示看不见的字符”来检查是否有我看不到的东西,但你完全正确。
string(28) "Company"
string(7) "Website"
string(6) "Brands"
string(8) "Contacts"