Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.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,我需要一个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函数,在这里我可以匹配数组中的字符串,并且只返回匹配的部分

说明

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