PHP 从其他号码获取号码
PHP get number from other number
我从这段代码中获取数据。
foreach ($datas as $data){
echo $data['product_number']."<br>";
}
然后它将显示如下数据:
MP/9998/00012
00089
12009
290989
但是我想把我的数据改成
12
120
89
12009
290989
我编辑问题。这是我之前的问题:
我有这个数组
$data = ["00012", "00120", "00089", "12009", "290989"].
这个数组至少包含5个字符。我怎样才能让数组数据变成
[12, 120, 89, 12009, 290989]
谢谢。
简单使用array_map
和intval
$data= array('00012','00120','00089','12009','290989');
$new = array_map('intval',$data); //intval function applied to each element in the array
print_r($new);
更新 1: 应用 intval
foreach ($datas as $data){
echo intval($data['product_number'])."<br>";
}
更新 2: 使用 filter_var
$str = 'MP/000090';
$int = filter_var($str, FILTER_SANITIZE_NUMBER_INT);
echo intval($int);
试试这个:
<?php
$data = array("00012", "00120", "00089", "12009", "290989" );
foreach( $data as $v )
{
echo ltrim($v, "0") . "\n";
}
Live Demo
输出
12
120
89
12009
290989
这将始终 return 每个元素中的最后一串数字(省略任何前面的零):
代码:(Demo)
$data=array('00012','00120','00089','12009','290989','MP/000090','MP/9998/0023028');
$data=array_map(function($v){return preg_match('~0*\K\d+$~',$v,$out)?$out:'fail';},$data);
var_export($data);
输出:
array (
0 =>
array (
0 => '12',
),
1 =>
array (
0 => '120',
),
2 =>
array (
0 => '89',
),
3 =>
array (
0 => '12009',
),
4 =>
array (
0 => '290989',
),
5 =>
array (
0 => '90',
),
6 =>
array (
0 => '23028',
),
)
我从这段代码中获取数据。
foreach ($datas as $data){
echo $data['product_number']."<br>";
}
然后它将显示如下数据:
MP/9998/00012
00089
12009
290989
但是我想把我的数据改成
12
120
89
12009
290989
我编辑问题。这是我之前的问题:
我有这个数组
$data = ["00012", "00120", "00089", "12009", "290989"].
这个数组至少包含5个字符。我怎样才能让数组数据变成
[12, 120, 89, 12009, 290989]
谢谢。
简单使用array_map
和intval
$data= array('00012','00120','00089','12009','290989');
$new = array_map('intval',$data); //intval function applied to each element in the array
print_r($new);
更新 1: 应用 intval
foreach ($datas as $data){
echo intval($data['product_number'])."<br>";
}
更新 2: 使用 filter_var
$str = 'MP/000090';
$int = filter_var($str, FILTER_SANITIZE_NUMBER_INT);
echo intval($int);
试试这个:
<?php
$data = array("00012", "00120", "00089", "12009", "290989" );
foreach( $data as $v )
{
echo ltrim($v, "0") . "\n";
}
Live Demo
输出
12
120
89
12009
290989
这将始终 return 每个元素中的最后一串数字(省略任何前面的零):
代码:(Demo)
$data=array('00012','00120','00089','12009','290989','MP/000090','MP/9998/0023028');
$data=array_map(function($v){return preg_match('~0*\K\d+$~',$v,$out)?$out:'fail';},$data);
var_export($data);
输出:
array (
0 =>
array (
0 => '12',
),
1 =>
array (
0 => '120',
),
2 =>
array (
0 => '89',
),
3 =>
array (
0 => '12009',
),
4 =>
array (
0 => '290989',
),
5 =>
array (
0 => '90',
),
6 =>
array (
0 => '23028',
),
)