数组搜索总是返回false,即使它不是

时间:2015-06-12 02:20:16

标签: php arrays function

好的,这是深夜,我在太多时间不停地工作,所以这就是为什么我无法理解这里的问题。我有一个数组:

Array
(
    [bob] => 
    [mike-2] => 
    [tara] => example.com
)

我想获取值来搜索值,所以我正在使用array_search:

// With an if statement...
if(in_array($_SERVER['SERVER_NAME'], $array)!==false)
{
    // something
}

// ... and also directly with this
$key = array_search($_SERVER['SERVER_NAME'], $array);
echo $key;

结果?总是假的!当我在寻找 example.com 时,我无法获得 tara 。我错过了什么?我甚至尝试直接用“example.com”替换$ _SERVER ['SERVER_NAME'],但当然它仍无效。

编辑:这是一个错字错误...该死的。我浪费了2个小时。

3 个答案:

答案 0 :(得分:2)

停止工作。这是一个实际的答案。停下来。每当你在浪费两个小时浪费时,你就没有任何好处,特别是你自己。

休息,你没有得到这样的地方。

答案 1 :(得分:0)

试试这个

iAd.framework

答案 2 :(得分:0)

数组搜索区分大小写,$ _SERVER [' SERVER_NAME']会以大写形式返回名称,因此您必须将小写字母转换为小写才能正常工作, 另外尝试将数组映射到小写 试试给出的例子

$ data = array

(
    'bob' =>'', 
    'mike-2' =>'', 
    'tara' =>'example.com'
);
array_search(strtolower($_SERVER['SERVER_NAME']), array_map('strtolower', $data));