PHP-需要一个函数来比较数组中的字符串并只返回匹配的部分
我需要一个PHP函数,在这里我可以匹配数组中的字符串,并且只返回匹配的部分 说明 38001、38002、38003应返回3800 38001、38002、38010应返回380 f38001、f38002、f38100应返回f38 谢谢你的回答。试试看PHP-需要一个函数来比较数组中的字符串并只返回匹配的部分,php,Php,我需要一个PHP函数,在这里我可以匹配数组中的字符串,并且只返回匹配的部分 说明 38001、38002、38003应返回3800 38001、38002、38010应返回380 f38001、f38002、f38100应返回f38 谢谢你的回答。试试看 <?php $num=array(); $num=str_split(38002); $num=str_split("f38001"); $temp=array(); echo match($num, 3)."<br>";
<?php
$num=array();
$num=str_split(38002);
$num=str_split("f38001");
$temp=array();
echo match($num, 3)."<br>";
echo match($num, 2)."<br>";
echo match($num, 2)."<br>";
function match ($num,$match){
foreach ($num as $key => $value) {
echo $value."";
if (($key==$match)and ($value !== 0)){
break;
}
}
}
?>
此例程使用这三个
$numbers
数组进行测试
$numbers = array(38021, 38002, 38003);
$numbers = array(38021, 38221, 38003);
$numbers = array(380010, 38001, 38010);
$numbers = array('f38001','f38102','f38100');
将处理数组中任意数量的字符串。将使用最多999个字符的字符串
字符串的长度不一定都相同
<?php
header('Content-Type: text/plain;; charset=utf-8');
//$numbers = array(38001, 38002, 38003);
//$numbers = array(38001, 38002, 38010);
$numbers = array('f38001','f38102','f38100');
$len = 999;
$match = array();
$match = str_split($numbers[0]);
foreach($numbers as $key=>$value){
$chars = str_split($value);
$result = array();
foreach($chars as $ndx=>$char){
$result[$ndx] = $char;
if($char != $match[$ndx]){
if($len > $ndx){$len=$ndx;}
$result = array_slice($result, 0, $len);
break;
}
}
}
$answer = join($result);
echo "\na=$answer";
?>