如果数组包含特定字符,则返回所有字符串php

时间:2018-01-25 11:57:54

标签: php arrays

让我们说我有一个像这样的php数组:

$compare  = array("Testing", "Bar");
$my_array = array(
                "Foo=7654", "Bar=4.4829", "Testing=123" 
        );

所以下面说得安全:

$compare[0] = "Testing"  

所以我想检查$my_array是否包含$compare[0](在上面的情况下,是的)它是否包含从$my_array返回的值,即Testing = 123

怎么可能?

2 个答案:

答案 0 :(得分:1)

您可以使用foreach循环:

$result = array();
foreach ($compare as $comp) {
    foreach ($my_array as $my) {
        if (strpos($my, $comp) !== false) {
            $result[] = $comp;
        }
    }
}
数组$result中的

是搜索结果

或通过其他方式:

$result = array();
foreach ($compare as $comp) {
    foreach ($my_array as $my) {
        if ($comp = explode('=', $my)[0]) {
            $result[] = $comp;
        }
    }
}

答案 1 :(得分:1)

使用单个循环...

$compare  = array("Testing", "Bar");
$my_array = array(
    "Foo=7654", "Bar=4.4829", "Testing=123"
);
$output = [];

foreach ( $my_array as $element )   {
    if ( in_array(explode('=', $element)[0], $compare)){
        $output[] = $element;
    }
}
print_r($output);

这只是检查值的第一部分(在=之前)是否在$compare数组中。