[英]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
)
您可能会为当前变量分配新值。
$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.