簡體   English   中英

如何從數組中刪除任何包含1個字符的字符串?

[英]How to remove from array any string with 1 character?

所以如果你有一個數組:

$ourArray[0] = "a";
$ourArray[1] = "bb";
$ourArray[2] = "c";
$ourArray[3] = "ddd";

是否有更短的方法從數組中刪除所有單個字符值,而不是通過foreach語句運行數組並單獨檢查每個值?

或者這是執行此任務的最快/最好的方式?:

foreach( $ourArray as $key => $value){
    if(strlen($value) == 1){ unset($ourArray[$key]); }
}

您可以使用array_filter來實現此目的,

$arr = [
  'test',
  '1',
  'g',
  'test-two'
];

var_dump(array_filter($arr, function ($v) {
  return strlen($v) > 1;
}));

如果要確保考慮空格,則在使用strlen之前對值使用trim

注意:鍵形成將被破壞,因此您可以使用array_values重新組織它們。

實例

Repl - 沒有array_values array_filter

Repl - array_filter在返回的array_filter數組上使用array_values

暫無
暫無

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

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