PHP - 使用数组循环遍历第二个数组

时间:2013-04-27 16:29:07

标签: php arrays function

使用explode('<br>',$String)我有一个带有子字符串的 Array1

我想使用 Array2 作为针遍历Array1和如果找到Sub-String则返回Array2值。

示例:

$Array1 { [0]=> string(3) "red"
          [1]=> string(4) "Blue"
          [3]=> string(5) "Black" };


$Array2 [
        'red' => "Red",
        'Yellow' => "Yellow"];

接近此任务的最佳方法/功能是什么。

在上面的例子中,Array1(Haystack)有一个子串“red”,我希望能够定义Key =&gt; Array2中的值用作针,例如,当找到某个Key时,返回其值。

// Output above

"Red"

由于

2 个答案:

答案 0 :(得分:0)

您可以使用简单的foreach循环

来完成此操作
function getColorOrSomething(&$array1, &$array2){
    foreach($array2 as $key=>$value)
         if(in_array($key, $array1))
            return $value;


     return null; //no match found

}

然后当然用2个数组调用函数

$selected = getColorOrSomething($array1, $array2);

答案 1 :(得分:0)

您可以使用这样的嵌套循环:

$key = "";
$value = "";

foreach( $Array1 as $ar1 ) {
    foreach( $Array2 as $ak2=>ar2 ) {
        if( preg_match("/" . $ak2 . "/", $ar1) ) {
            $key = $ak2;
            break;
        }

        if( $key != "" ) {
            $value = $ar1; 
            break;
        }
    }
}

echo "Key: " . $key . " & Value: " . $value;

喜欢这样..