2017-07-29 116 views
-3

我有一个PHP数组类似如何删除php中的最后2位数字?

$num = array(+0100,-0200, +0000); 

一些数字我想删除最后两位数字(00)。谁能帮忙?

+0

分享您确切的代码 – Bhargav

+0

没有数0000,这只是0,和他人同 – Ali

+0

的可能的复制[在PHP,我怎么截断字符串由x字符开始从结尾?](https://stackoverflow.com/questions/15674534/in-php-how-do-i-truncate-a-string-by-x-characters-starting-from结束) – mickmackusa

回答

0

尝试此

$num = array("+0100","-0200", "+0000"); 
foreach($num as $key=>$val) 
{ 
    $num[$key] = substr($val, 0, -2); 
} 
print_r($num); 

演示https://eval.in/839153

-1
foreach($num as $key=>$value){ 
     $num[$key]= substr($value,0,strlen($value)-2); 
    } 

    foreach($num as $key=>$value){ 
     $num[$key]= $value; 
     echo 'the'.$key.'value ='.$num[$key] ; 
    } 

的SUBSTR()函数返回字符串的一部分。

注意:如果开始参数是负数并且长度小于或等于开始,长度为0

语法SUBSTR(字符串,开始,长度) 好运

祝你好运!

+0

这个答案不是最佳实践。 'strlen()'是一个不必要的调用。两个foreach循环是草率/不必要的。见安德烈亚斯或萨蒂什的答案正确执行。 – mickmackusa

0

你不需要为或foreach。

$arr = array("+0100","-0200", "+0000"); 

$arr = array_map(function($val) { return substr($val, 0, -2); }, $arr); 

var_dump($arr); 

输出:

array(3) { 
     [0]=> 
     string(3) "+01" 
     [1]=> 
     string(3) "-02" 
     [2]=> 
     string(3) "+00" 
} 

https://3v4l.org/FgWuP

相关问题