在PHP数组中搜索子字符串

时间:2018-06-19 06:52:07

标签: php arrays search substring

我试图在PHP数组中找到一个特定的字符串,如下所示。

Array ( [0] => Array ( [0] => sku,qty,is_in_stock ) [1] => Array ( [0] => EBCDAA014MAS34B,149.000000,1 ));

我正在准备上面的数组,我将它存储在一个名为$listing

的变量中

我正在使用array_find()函数来执行此操作。

function array_find($needle, array $haystack)
{
    foreach ($haystack as $key => $value) {
        if (false !== stripos($value, $needle)) {
            return $key;
        }
    }
    return false;
}

$hello = array_find('EBCDAA014MAS34B', $listing);
echo $hello;

但是,我的回报是假的。任何人都可以告诉我哪种方法可以做到这一点?

2 个答案:

答案 0 :(得分:0)

您的数组是一个数组数组,其中您的字符串是每个数组中的第一项$value[0]

尝试更改此行:

if (false !== stripos($value, $needle)) {

到这一行:

if (false !== stripos($value[0], $needle)) {

Demo

答案 1 :(得分:0)

只需使用 in_array() PHP函数,请参阅下面的示例。

    $listing = Array ( [0] => Array ( [0] => sku,qty,is_in_stock ) [1] => Array ( [0] => EBCDAA014MAS34B,149.000000,1 ));
in_array('EBCDAA014MAS34B', $listing)