我只是试图将包含用逗号分隔的数字的数组解析为没有逗号的数字,但仍然是数组形式。但这没用。
我的代码:
$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);
}
有什么办法可以解决这个问题?
谢谢。
答案 0 :(得分:2)
您可以使用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
)
答案 1 :(得分:1)
您可以为当前变量分配新值。
$arrTot = array_filter(array_slice($total, 20));
for ($i=0; $i < count($arrTot); $i++) {
$arrTot[$i]=str_replace( ',', '', $arrTot[$i]);
}
print_r($arrTot);
答案 2 :(得分:0)
如果要获得所需的输出,则需要替换主数组中的元素而不使用逗号。
$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);
答案 3 :(得分:0)
试试这个-
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
)
答案 4 :(得分:0)
尝试一下,
$arr = ['10,000','100,000','200,000'];
foreach($arr as $key=>$val){
$arr[$key] = (int)str_replace(',','',$val);
}
var_dump($arr);
答案 5 :(得分:0)
您只需使用str_replace
即可获得所需的结果
$arrTot = array('10,000', '100,000', '200,000');
foreach($arrTot as $key => $value){
$arrTot[$key] = str_replace(",","",$value);
}
print_r($arrTot);