Php 如何从mainstring中获取strpos()匹配的字符串

Php 如何从mainstring中获取strpos()匹配的字符串,php,string,strpos,Php,String,Strpos,假设我们有一个主字符串和一个搜索字符串 <?php $mystring = ',1,123,167,778,456'; $findme = '123'; $pos = strpos($mystring, $findme); if ($pos === false) { echo "The string '$findme' was not found in the string '$mystring'"; } else { echo "The string '$findme' was

假设我们有一个主字符串和一个搜索字符串

<?php   
$mystring = ',1,123,167,778,456';
$findme   = '123';
$pos = strpos($mystring, $findme);
if ($pos === false) {
echo "The string '$findme' was not found in the string '$mystring'";
} else {
echo "The string '$findme' was found in theenter code here string '$mystring'";
echo " and exists at position $pos";
}
?>
然后123存储在一个变量中

$string_from_main_string = '123';

最好使用
explode
in_array
执行此类任务

$mystring = ',1,123,167,778,456';
$findme   = '123';

$arr = explode(',',$mystring);
if(in_array($findme,$arr)){
  echo "Found";
}
else{
  echo "Not Found";
}

我认为,如果value的strpos为正数,但它在字符串中不完全可用,则需要将值附加到原始字符串:

$a = "1,123,456,746";
$a_arr = explode(",", $a);
$findme = "123";
if (strlen(strpos($a, $findme)) > 0){
if(in_array($findme, $a_arr)){


}else{
    $a .= ",".$findme;
    array_push($a_arr, $findme);
}
}

既然您已经在使用给定的字符串进行搜索,那么提取相同的字符串有什么意义呢。您可以使用
substr($mystring,$pos,strlen($findme))
来获取它。@air4x正如您所见,我在开始时有一个空值,因此它无法在数组中给出正确的字符串使用增加了执行时间
$a = "1,123,456,746";
$a_arr = explode(",", $a);
$findme = "123";
if (strlen(strpos($a, $findme)) > 0){
if(in_array($findme, $a_arr)){


}else{
    $a .= ",".$findme;
    array_push($a_arr, $findme);
}
}