PHP-在特定字符串后拆分字符串

时间:2014-10-09 08:55:08

标签: php mysql split

我当前的项目由UID组成,其中如下所示

855FM21,855FM22等

我希望uid中的最后一个数字可以通过拆分字符串来完成。

如何在子字符串" FM"之后拆分此字符串。?

7 个答案:

答案 0 :(得分:7)

要在子字符串“FM”之后拆分此字符串,请使用带有分隔符FM的{​​{3}}。喜欢

$uid = "855FM22";
$split = explode("FM",$uid);
var_dump($split[1]);

答案 1 :(得分:2)

您可以使用explode()方法。

<?php
$UID = "855FM21";
$stringParts = explode("FM", $UID);

$firstPart  = $stringParts[0]; // 855
$secondPart = $stringParts[1]; // 21

?>

答案 2 :(得分:2)

使用explode函数返回数组。获取最后一个索引使用echo $ array [count($ array) - 1];

    <?php
     $str = "123FM23";
     $array = explode("FM",$str);
     echo $array[count($array) - 1];
    ?>

答案 3 :(得分:1)

您是否尝试过php的爆炸功能?

http://php.net/manual/en/function.explode.php

答案 4 :(得分:1)

为此,请使用php的爆炸功能。

$UID = "855FM21";
$splitToArray = explode("FM",$UID);
print_r($splitToArray[1]);

答案 5 :(得分:0)

$uid = '123FM456';
$ArrUid = split( $uid, 'FM' );
if( count( $ArrUid ) > 1 ){
    //is_numeric check ?!
    $lastNumbers = $ArrUid[1];
}
else{
    //no more numbers after FM
}

您还可以使用正则表达式提取最后的数字!

一个简单的例子

$uid = '1234FM56';
preg_match( '/[0-9]+fm([0-9]+)/i', $uid, $arr );
print_r($arr); //the number is on index 1 in $arr -> $arr[1]

答案 6 :(得分:0)

作为最佳实践,从您的mysql查询中获取的信息绝不要超过您实际使用的内容。 uid的拆分操作可以在查询本身中完成,而这可能正是我想做的。

SELECT SUBSTRING_INDEX(uid, 'FM', -1) AS last_number FROM `your_tablename`