根据字符长度删除数组元素

Sai*_*man 0 php arrays strlen unset array-unset

我有一个数组PHP:

$array = array("Linda","Chadwick","Bari","Angela","Marco");
Run Code Online (Sandbox Code Playgroud)

因此,

 $array[0]="Linda"  
 $array[1]="Chadwick"  
 $array[2]="Bari"  
 $array[3]="Angela"  
 $array[4]="Marco"  
Run Code Online (Sandbox Code Playgroud)

我想删除具有字符串长度的名称<=4.

这样,键就被调整了.

$array[0]="Linda"
$array[1]="Chadwick"  
$array[2]="Angela"  
$array[3]="Marco"  
Run Code Online (Sandbox Code Playgroud)

Nar*_*dia 7

你可以简单地使用它使用array_filter仅随strlen

$array = array("Linda","Chadwick","Bari","Angela","Marco");
$result = array_filter($array,function($v){ return strlen($v) > 4; });
print_r($result);

$result = array();
array_walk($array,function($v) use (&$result){ if(strlen($v) > 4){$result[] = $v;} });
print_r($result);
Run Code Online (Sandbox Code Playgroud)

array_filter

array_walk


n-d*_*dru 5

使用array_filter和 然后array_values重置按键顺序:

$array = array("Linda","Chadwick","Bari","Angela","Marco");
$array = array_values(array_filter($array, function($v) {
    return strlen($v) > 4;
}));
print_r($array);
Run Code Online (Sandbox Code Playgroud)

输出:

Array ( [0] => Linda [1] => Chadwick [2] => Angela [3] => Marco ) 
Run Code Online (Sandbox Code Playgroud)