开发者社区 问答 正文

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

我只是试图将包含用逗号分隔的数字的数组解析为没有逗号的数字,但仍然是数组形式。但这没有用。

我的代码:

$arrTot = array_filter(array_slice($total, 20));
print_r($arrTot);

数组结果: Array ( [0] => 10,000 [1] => 100,000 [2] => 200,000 ) 我想要的输出是擦除所有数量的逗号:

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

我已经尝试过像这样的事情,但似乎与我想要的输出还不很接近:

$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:29:17 757 分享 版权
阿里云 AI 助理回答

要实现您的需求,您可以通过遍历数组,并使用 str_replace() 函数或者直接类型转换(例如 (int)intval())来移除每个元素中的逗号。这里提供一个简单的示例代码,展示如何使用 str_replace() 来达到目的:

$arrTot = array_filter(array_slice($total, 20));

// 使用 str_replace 去除逗号并转换为整数
foreach ($arrTot as $key => $value) {
    $arrTot[$key] = (int)str_replace(',', '', $value);
}

print_r($arrTot);

这段代码首先保留了您原有逻辑生成的 $arrTot 数组,然后通过 foreach 循环遍历数组中的每个值。对于每个值,它使用 str_replace(',', '', $value) 移除逗号,之后通过类型转换 (int) 将字符串转为整数。这样处理后,您将得到一个没有逗号且元素为整数形式的新数组。

另一种更简洁的方法是直接使用匿名函数结合 array_map() 函数来完成这个任务:

$arrTot = array_filter(array_slice($total, 20));

// 使用 array_map 和匿名函数去除逗号并转换为整数
$arrTot = array_map(function($value) {
    return (int)str_replace(',', '', $value);
}, $arrTot);

print_r($arrTot);

这段代码同样实现了您的需求,但采用了更加函数式编程的风格,使得代码更为紧凑。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答