簡體   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