检查数组元素中是否存在字符串

时间:2015-08-05 13:57:23

标签: php arrays

是否有任何函数可以执行strpos所做的事情,但是对于数组的元素?例如,我有这个数组:

    Array
(
 [0] => a66,b30
 [1] => b30
)

数组的每个元素都可以包含一组字符串,以逗号分隔。

让我们说我正在寻找b30。 我希望该功能浏览数组并返回0和1.你能帮忙吗?该函数必须对this function所做的事情进行反对。

2 个答案:

答案 0 :(得分:0)

试试这个(未经测试):

function arraySearch($array, $search) {
    if(!is_array($array)) {
        return 0;
    }
    if(is_array($search) || is_object($search)) {
        return 0;
    }
    foreach($array as $k => $v) {
        if(is_array($v) || is_object($v)) {
            continue;
        }
        if(strpos($v, $search) !== false) {
            return 1;
        }
    }
    return 0;
}

答案 1 :(得分:0)

您也可以使用preg_grep

<?php

$a = array(
 'j98',
 'a66,b30',
 'b30',
 'something',
 'a40'
);

print_r( count(preg_grep('/(^|,)(b30)(,|$)/', $a)) ? 1 : 0 );

https://eval.in/412598