Joh*_*ohn 4 php arrays filtering
所以如果你有一个数组:
$ourArray[0] = "a";
$ourArray[1] = "bb";
$ourArray[2] = "c";
$ourArray[3] = "ddd";
Run Code Online (Sandbox Code Playgroud)
是否有更短的方法从数组中删除所有单个字符值,而不是通过foreach语句运行数组并单独检查每个值?
或者这是执行此任务的最快/最好的方式?:
foreach( $ourArray as $key => $value){
if(strlen($value) == 1){ unset($ourArray[$key]); }
}
Run Code Online (Sandbox Code Playgroud)
Scr*_*t47 10
你可以array_filter用来实现这个目标,
$arr = [
'test',
'1',
'g',
'test-two'
];
var_dump(array_filter($arr, function ($v) {
return strlen($v) > 1;
}));
Run Code Online (Sandbox Code Playgroud)
如果要确保考虑空格,则使用trim之前使用的值strlen.
注意:键形成将被破坏,因此您可以使用array_values重新组织它们.
实例
Repl - array_filter没有array_values
REPL - array_filter利用array_values返回的阵列上array_filter.