【问题标题】:php array_search not giving expected output with number 1 [duplicate]php array_search没有给出数字1的预期输出[重复]
【发布时间】:2020-01-22 10:36:09
【问题描述】:

array_search 的输出有问题, 使用此代码,我必须搜索位于多维数组 $progInLvl 的第 0 列中的不同 ID ($progId)。但是在搜索整数 1 时它不会返回肯定的结果,而 2 或 3 工作良好。

你知道这可能来自哪里吗?

干杯

$progInLvl = [[1, "a", "aaaa"], [2,"b", "bbbb"], [3, "c", "cccc"]];    

$progId = 1;
$newArr = array_column($progInLvl, 0);

if (!array_search($progId, $newArr)){
       $progId = "fail";
    } 

echo $progId;

【问题讨论】:

标签: php


【解决方案1】:

array_search() 将返回密钥。

如果返回的键为 0,则执行 if (!array_search($progId, $newArr)) 将评估为 true。0 是假值之一。

改用这个:

// triple equal will ensure type and values match
if (array_search($progId, $newArr) === false)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-11-01
    • 2018-09-18
    • 2019-09-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多