【问题标题】:PHP - Search in specific array valuePHP - 在特定数组值中搜索
【发布时间】:2018-09-12 18:04:18
【问题描述】:

我想通过 in_array 函数和 For 循环在数组值中搜索。我的代码:

$input = "a";
$arrays = array("cdf","abs","tgf");

$counter = count($arrays);

for ($i=0; $i<$counter; $i++){

    if(in_array($input,$arrays) !== true){
        echo "Found <br>";
    } else {
        echo "Not Found";
    }

}

输出:

Not Found
Found
Not Found

但是,if(in_array($input,$arrays[$i]) !== true) 不起作用。

【问题讨论】:

    标签: arrays loops if-statement


    【解决方案1】:

    in_array("a", "cdf") 可能成为 in_array($input, $arrays[$i]) 的原因不起作用是因为 "cdf" 不是数组。

    您是否尝试在 $arrays 中查找包含字母 a 的数组元素?
    在这种情况下,您应该使用strpos() 搜索数组元素以确定一个字符串是否包含另一个字符串。如果您只想遍历数组,您也可以使用foreach 而不是for

    $input = "a";
    $arrays = array("cdf","abs","tgf");
    
    foreach ($arrays as $key => $value)
    {
        if (strpos($value, $input) !== false)
            echo "Found in $key<br>";
        else
            echo "Not Found<br>";
    }
    

    【讨论】:

    • 谢谢,您说“cdf”不是数组。您的意思是 in_array 仅适用于所有 array() 值,不能用于特定值?
    • 阅读in_array() 的手册,它会检查特定元素是否在数组中,而不是数组中字符串的一部分。
    猜你喜欢
    • 2015-05-27
    • 2013-10-10
    • 1970-01-01
    • 2019-09-13
    • 2019-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多