簡體   English   中英

刪除數組中的空格php

[英]remove spaces in a array php

對於這個數組,

Array ( 
  [0] => 'HOST:' 
  [1] => 'killbill' 
  [2] =>  
  [3] =>  
  [4] =>  
  [5] =>  
  [6] =>  
  [7] => 
  [8] => 
  [9] => 
  [10] => 
  [11] => 'Loss%' 
  [12] => 
  [13] => 
  [14] => 'Snt' 
  [15] => 
  [16] => 
  [17] => 'Last' 
  [18] => 
  [19] => 
  [20] =>'id'
)

它有空值。通過使用它給出的代碼

foreach($array as $key => $subarray) {
    $array[$key] = preg_grep('/^$/', $subarray, PREG_GREP_INVERT);
}

array ( 
  [0] => HOST: 
  [1] => killbill 
  [11] => Loss% 
  [14] => Snt 
  [17] => Last 
  [20] =>id
)

這意味着它刪除了所有空格。 但它具有原始鍵值。(比較上面一個和下面一個。然后可以清楚地知道我在說什么)。但我想要這樣。

array ( 
  [0] => 'HOST:' 
  [1] => 'killbill' 
  [2] => 'Loss%'
  [3] => 'Snt' 
  [4] => 'Last' 
  [5] => 'id'
)

鍵值為 1,2,3,4.... 那么我怎么能得到它。

只需使用它而不是Foreach

array_values(array_filter($array));

這將刪除空間並重新排序您的數組。

看: http : //codepad.org/howl3Opj

只需使用array_filter()

$array = array_filter($array);

這將刪除所有空值——即空白、 nullfalse 、零。

如果您只想刪除空字符串的值並保留其他空值(例如零),您可以為array_filter()指定第二個參數,它允許您定義一個函數來指定應過濾哪些元素。

$array = array_filter($array, function($val) {return $val!=='';});

希望有幫助。

試試這個功能,它會幫你解決問題

$arr = array_map('array_values', $arr);

使用array_diff函數

<?php

   $array_space = array(0,3,4,45,12,"",54,23);

   $remove = array("");

   print_r(array_diff($array_space,$remove));

?>

請參閱此處的輸出

一開始你需要取數組我給他一個名字 $arrWords

$arrWords = array_filter($arrWords, 'trim');

清理完所有空白空間后,我將創建新的數組鍵

$arrWords = array_values($arrWords);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM