繁体   English   中英

PHP:数组将逗号分隔的字符串转换为int

[英]PHP: Array Convert comma separated string to int

我只是尝试将包含用逗号分隔的数字的数组解析为不带逗号的数字,但仍为数组形式。 但它没有用。

我的代码:

$total = $this->input->post('total');
$arrTot = array_filter(array_slice($total, 20));
print_r($arrTot);

数组结果:

Array
(
   [0] => 10,000
   [1] => 100,000
   [2] => 200,000
)

我想要的输出是擦除所有数字中的逗号:

Array
(
    [0] => 10000
    [1] => 100000
    [2] => 200000
)

我已经尝试过这样的事情,但似乎与我想要的输出还差得远:

$total = $this->input->post('total');
$arrTot = array_filter(array_slice($total, 20));
for ($i=0; $i < count($arrTot); $i++) { 
    $valTot=str_replace( ',', '', $arrTot[$i]);
    print_r($valTot);
}

有没有办法解决这个问题?

谢谢。

您可以使用array_walk处理数组中的每个值:

$arrTot = array('10,000', '100,000', '200,000');
array_walk($arrTot, function (&$v) {
    $v = str_replace(',', '', $v);
});
print_r($arrTot);

输出:

Array
(
    [0] => 10000
    [1] => 100000
    [2] => 200000
)

3v4l.org 上的演示

您可能会为当前变量分配新值。

$arrTot = array_filter(array_slice($total, 20));
for ($i=0; $i < count($arrTot); $i++) { 
    $arrTot[$i]=str_replace( ',', '', $arrTot[$i]);
}
print_r($arrTot);

如果您想要所需的输出,则需要不带逗号替换主数组中的元素。

$total = $this->input->post('total');
$arrTot = array_filter(array_slice($total, 20));

foreach ($arrTot as $key => $aTot) {
    $arrTot[$key] = str_replace(',','',$arrTot[$i);
}
var_dump($arrTot);

尝试这个-

echo "<pre>";
$arr = array('10,000','100,000','200,000');
print_r($arr);
//result 
   Array
  (
      [0] => 10,000
      [1] => 100,000
      [2] => 200,000
  )
foreach ($arr as $key => $value) {
   $new[] = str_replace(',','',$value);
}
print_r($new);
Array
(
    [0] => 10000
    [1] => 100000
    [2] => 200000
)

尝试这个 ,

$arr = ['10,000','100,000','200,000'];
foreach($arr as $key=>$val){
  $arr[$key] = (int)str_replace(',','',$val);
}

var_dump($arr);

您可以简单地使用str_replace来实现所需的结果

$arrTot = array('10,000', '100,000', '200,000');

foreach($arrTot as $key => $value){
  $arrTot[$key] = str_replace(",","",$value);
}

print_r($arrTot);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM