Php 数组搜索始终返回false,即使它为';不是

Php 数组搜索始终返回false,即使它为';不是,php,arrays,function,Php,Arrays,Function,好吧,现在已经很晚了,而且我的工作时间太长了,所以这就是为什么我不能理解这里的问题所在。我有一个数组: Array ( [bob] => [mike-2] => [tara] => example.com ) 我想通过搜索值来获取键,因此我使用数组搜索: // With an if statement... if(in_array($_SERVER['SERVER_NAME'], $array)!==false) { // somethin

好吧,现在已经很晚了,而且我的工作时间太长了,所以这就是为什么我不能理解这里的问题所在。我有一个数组:

Array
(
    [bob] => 
    [mike-2] => 
    [tara] => example.com
)
我想通过搜索值来获取键,因此我使用数组搜索:

// 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”直接替换$\u SERVER['SERVER\u NAME'],但当然还是不起作用


编辑:这是一个打字错误。。。该死我为此浪费了两个小时。

停止工作。这是一个实际的答案。停下来。每当你在打字错误上浪费两个小时,你对任何人都没有任何好处,尤其是你自己


休息,你不会有这样的结果。

停止工作。这是一个实际的答案。停下来。每当你在打字错误上浪费两个小时,你对任何人都没有任何好处,尤其是你自己

休息一下,你不会有这样的结果。

试试这个

    $test= array('bob' => '','mike' => '','tara' => 'serverName');
while(list($key,$value) = each($test))
{
    if($value==$_SERVER['SERVER_NAME'])
    {
        echo $key;
        break;
    }
}
试试这个

    $test= array('bob' => '','mike' => '','tara' => 'serverName');
while(list($key,$value) = each($test))
{
    if($value==$_SERVER['SERVER_NAME'])
    {
        echo $key;
        break;
    }
}

数组搜索区分大小写,$\u SERVER['SERVER\u NAME']将以大写形式返回名称,因此您必须将其转换为小写形式才能正常工作, 另外,尝试将数组也映射为小写 试试下面的例子

$data=数组

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

数组搜索区分大小写,$\u SERVER['SERVER\u NAME']将以大写形式返回名称,因此您必须将其转换为小写形式才能正常工作, 另外,尝试将数组也映射为小写 试试下面的例子

$data=数组

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

阵列有什么问题吗?可以先用PHP打印数组吗?当然可以。阵列非常好。我可以看到所有元素、键和值。这个问题可能会有所帮助
array\u search()
区分大小写,这可能会让您感到不舒服吗?
$array
的值中是否有尾随空格?
array\u search('example.com',$array)
能像预期的那样工作吗?天哪。我发现了问题。我真不敢相信我浪费了两个小时在打字错误上。我在找字符串“hcm”,但它是“hmc”。该死无论如何谢谢你的帮助。阵列有什么问题吗?可以先用PHP打印数组吗?当然可以。阵列非常好。我可以看到所有元素、键和值。这个问题可能会有所帮助
array\u search()
区分大小写,这可能会让您感到不舒服吗?
$array
的值中是否有尾随空格?
array\u search('example.com',$array)
能像预期的那样工作吗?天哪。我发现了问题。我真不敢相信我浪费了两个小时在打字错误上。我在找字符串“hcm”,但它是“hmc”。该死无论如何,谢谢你的帮助。