欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

PHP CodeIgniter 截取数据

程序员文章站 2024-02-14 21:07:16
...


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'];
}

嗯嗯 谢谢