我有一句话:
$word = "samsung";
我有阵列:
$myarray = Array(
[0] => "Samsung=tv"
[1] => "Apple=mobile"
[2] => "Nokia=mobile"
[3] => "LG=tv"
我现在需要这样的东西才能找到部分匹配:
if($word in $myarray){ echo "YES"; } // samsung found in Samsung=tv
感谢您的帮助。
答案 0 :(得分:3)
您想要in_array
http://us3.php.net/manual/en/function.in-array.php。
if(in_array($word,$myarray){ echo 'yes'; }
答案 1 :(得分:1)
如果您正在寻找部分匹配,可以使用带有foreach循环的strpos()来迭代数组。
foreach ($myarray as $key => $value) {
if (strpos($value, $word) !== FALSE) {
echo "Yes";
}
}
答案 2 :(得分:1)
没有内置功能来进行部分匹配,但您可以轻松创建自己的功能:
function in_array_partial($needle, $haystack){
$result = false;
$needle = strtolower($needle);
foreach($haystack as $elem){
if(strpos(strtolower($elem), $needle) !== false){
$result = true;
break;
}
}
return $result;
}
用法:
if(in_array_partial('samsung', $myarray)){
echo 'yes';
}
答案 3 :(得分:1)
你在找这样的东西吗?
<?php
$myarray = array("Samsung=tv", "Apple=mobile", "Nokia=mobile", "LG=tv");
function findSimilarWordInArray($word, $array) {
if (empty($array) && !is_array($array) return false;
foreach ($array as $key=>$value) {
if (strpos( strtolower($value), strtolower($word)) !== false) {
return true;
} // if
} // foreach
}
// use case
if ( findSimilarWordInArray('samsung',$myarray) ) {
echo "I've found it!";
}
?>
它允许您在数组值中查找类似的单词。
答案 4 :(得分:0)
您可以尝试这样的事情:
function my_in_array($word, $array){
forach($array as $value){
if(strpos($word, $value) !== false){
return true;
}
}
return false;
}