[英]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.