使用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"
由于
答案 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;
喜欢这样..