Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/241.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP-如何在数组中找到部分单词?_Php - Fatal编程技术网

PHP-如何在数组中找到部分单词?

PHP-如何在数组中找到部分单词?,php,Php,我有一句话: $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 谢谢你的帮助。你想要在数组中

我有一句话:

 $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

谢谢你的帮助。

你想要
在数组中


您需要在数组中设置


如果要查找部分匹配,可以使用strpos()和foreach循环来迭代数组

foreach ($myarray as $key => $value) {

    if (strpos($value, $word) !== FALSE) {
        echo "Yes";
    }

}

如果要查找部分匹配,可以使用strpos()和foreach循环来迭代数组

foreach ($myarray as $key => $value) {

    if (strpos($value, $word) !== FALSE) {
        echo "Yes";
    }

}

您可以尝试以下方法:

function my_in_array($word, $array){
 forach($array as $value){
  if(strpos($word, $value) !== false){
   return true;
  }
 }
return false;
}

您可以尝试以下方法:

function my_in_array($word, $array){
 forach($array as $value){
  if(strpos($word, $value) !== false){
   return true;
  }
 }
return false;
}

没有内置函数进行部分匹配,但您可以轻松创建自己的:

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';
}

没有内置函数进行部分匹配,但您可以轻松创建自己的:

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';
}

你在找这样的东西吗

<?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!";
}
?>

你在找这样的东西吗

<?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!";
}
?>

Hi,in_array()仅当我搜索完整字符串时回复true,
samsung=tv
。我只需要
samsung
在字符串中搜索
samsung=tv
,但我想在
samsung=tv
中搜索
samsung
是无效的。您好,in_array()仅当我搜索整个字符串时回答true,
samsung=tv
。我只需要
samsung
在字符串中搜索
samsung=tv
,但我想在
samsung=tv
中搜索
samsung
是无效的。