首頁 >後端開發 >php教程 >PHP CodeIgniter 截取数据

PHP CodeIgniter 截取数据

WBOY
WBOY原創
2016-06-23 14:39:36811瀏覽




15018903588-006


在中间有一横杠,怎么根据中间的横杠前面数据截出,然后在根据横杠把后面的数据截出


求大虾代码贴出


回复讨论(解决方案)

$str = '15018903588-006';$last = substr($str,0,strrpos($str,'-'));$next = substr(strstr($str,'-'),1);echo $last,PHP_EOL;echo $next

$str = '15018903588-006';$last = substr($str,0,strrpos($str,'-'));$next = substr(strstr($str,'-'),1);echo $last,PHP_EOL;echo $next


下面是我显示出来的数据,请问可以下面那样写吗?
  
上面得出来的结果是:15018903588

---------------------------------------------------------------
  
得出:006

我理解的对吗?




$str = '15018903588-006';$last = substr($str,0,strrpos($str,'-'));$next = substr(strstr($str,'-'),1);echo $last,PHP_EOL;echo $next


下面是我显示出来的数据,请问可以下面那样写吗?
  
上面得出来的结果是:15018903588

---------------------------------------------------------------
  
得出:006

我理解的对吗?




是的

 
 foreach ( $info as $key => $value)
     {
  ?> 



   



         
   



奇怪 值显示不出来。
------------------------------------------------------
下面这样是可以显示出来的
 
 foreach ( $info as $key => $value)
     {
  ?> 


   



         
   




$str = '15018903588-006';$last = substr($str,0,strrpos($str,'-'));$next = substr(strstr($str,'-'),1);echo $last,PHP_EOL;echo $next


下面是我显示出来的数据,请问可以下面那样写吗?
  
上面得出来的结果是:15018903588

---------------------------------------------------------------
  
得出:006

我理解的对吗?




是的








-------------------------------------------
对了,有的号码是没有代工号的,怎么验证 比如没有带工号的




$str = '15018903588-006';$last = substr($str,0,strrpos($str,'-'));$next = substr(strstr($str,'-'),1);echo $last,PHP_EOL;echo $next


下面是我显示出来的数据,请问可以下面那样写吗?
  
上面得出来的结果是:15018903588

---------------------------------------------------------------
  
得出:006

我理解的对吗?




是的








-------------------------------------------
对了,有的号码是没有代工号的,怎么验证 比如没有带工号的
判断工号是否存在,存在就截取,不存在就跳过

 
 foreach ( $info as $key => $value)
     {
  ?> 



   



         
   



奇怪 值显示不出来。
------------------------------------------------------
下面这样是可以显示出来的
 
 foreach ( $info as $key => $value)
     {
  ?> 


   



         
   


确定有值存在,这样是没有问题
$value['homa'] = '15018903588-006';
echo  substr($value['homa'],0,strrpos($value['homa'],'-'));
?>


 
 foreach ( $info as $key => $value)
     {
  ?> 



   



         
   



奇怪 值显示不出来。
------------------------------------------------------
下面这样是可以显示出来的
 
 foreach ( $info as $key => $value)
     {
  ?> 


   



         
   


确定有值存在,这样是没有问题
$value['homa'] = '15018903588-006';
echo  substr($value['homa'],0,strrpos($value['homa'],'-'));
?>

--------------------------------------------------
有的不过有些数据是没有带工号的比如:


 
 foreach ( $info as $key => $value)
     {
  ?> 



   



         
   



奇怪 值显示不出来。
------------------------------------------------------
下面这样是可以显示出来的
 
 foreach ( $info as $key => $value)
     {
  ?> 


   



         
   


确定有值存在,这样是没有问题
$value['homa'] = '15018903588-006';
echo  substr($value['homa'],0,strrpos($value['homa'],'-'));
?>
------------------------------------------------------------
$value['homa'] = '15018903588';
echo  substr($value['homa'],0,strrpos($value['homa'],'-'));

$value['homa'] = '057120826666';
echo  substr($value['homa'],0,strrpos($value['homa'],'-'));


 
 foreach ( $info as $key => $value)
     {
  ?> 



   



         
   



奇怪 值显示不出来。
------------------------------------------------------
下面这样是可以显示出来的
 
 foreach ( $info as $key => $value)
     {
  ?> 


   



         
   


确定有值存在,这样是没有问题
$value['homa'] = '15018903588-006';
echo  substr($value['homa'],0,strrpos($value['homa'],'-'));
?>
-------------------------------------------
数据值:
15018903588-006
057188888881-007
05718888888-007
15018903588

以上是值会显示其中一种的数据

我要实现的效果是:
把横杠前后数据都截取出来,没有横杠的就直接显示

判断工号是否有“-”
if (strpos($value['homa'],'-')){
    $last = substr($value['homa'],0,strrpos($value['homa'],'-'));
    $next = substr(strstr($value['homa'],'-'),1);
}else{
    $value['homa'];
}

嗯嗯  谢谢

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn