PHP Associative为一个元素随机返回null,但不返回其他元素

时间:2015-05-30 16:55:08

标签: php

我的关联数组的示例如下:

// Sets Array
["modern masters 2015"]=>
string(3) "MM2"
["modern masters"]=>
string(3) "MMA"
["mercadian masques"]=>
string(3) "MMQ"

给我带来麻烦的元素是“现代大师2015”。以下是代码片段:

$currentSet = "Modern Masters 2015";
$currentSet = strtolower($currentSet);
var_dump($sets[$currentSet]);

当我执行var_dump()时,它仅为此特定集返回NULL。 sets数组有100多个元素,所有元素都在上面的代码 EXCEPT “现代大师2015”中工作。但是,如果我打电话:

var_dump($sets["modern masters 2015"]);

...它工作得很好,并根据需要返回“MM2”。只有当我在括号之间使用变量时,它才会返回null(出于某种奇怪的原因)。

奇怪的是,这个特定的集合以前没有被窃听过。我推测它可能是整数,但名称中带有整数的其他集合完美无缺。我不太清楚这里发生了什么;一些指导意见将不胜感激。

1 个答案:

答案 0 :(得分:0)

问题与我的代码无关。程序正在读取的文件是否存在问题。 " 2015年现代大师赛"是文件的第一行,并且正在读入长度为22的程序,尽管实际长度为19.在前面或末尾必定有一些不可见的字符,导致长度增加到该数字,如果对其执行trim()操作,则不会被删除。