我只是尝试将包含用逗号分隔的数字的数组解析为不带逗号的数字,但仍然是数组形式。但它没有起作用。
我的代码:
$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);
}有没有办法解决这个问题?
谢谢。
发布于 2019-11-29 11:37:00
您可以使用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
)发布于 2019-11-29 11:36:46
您可以为当前变量分配新的值。
$arrTot = array_filter(array_slice($total, 20));
for ($i=0; $i < count($arrTot); $i++) {
$arrTot[$i]=str_replace( ',', '', $arrTot[$i]);
}
print_r($arrTot);发布于 2019-11-29 11:38:50
如果您想要所需的输出,则需要替换不带逗号的主数组中的元素。
$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);https://stackoverflow.com/questions/59098422
复制相似问题