Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
457 views
in Technique[技术] by (71.8m points)

PHP: Reorder arrays after unset()

There are 2 functions involved.

  1. Search array items for a given string
  2. unset() array item if string not found

$array = array("first", "second", "third", "fourth");

foreach($array as $i=> $string) {  
 if(stristr($string, "e")) {  
    unset($array[$i]);
 }   

}

second is the array item with the character 'e'. If its unset, $array[1] would be left empty:

$array[0] = "first"  
$array[1] = ""  
$array[2] = "third"  
$array[3] = "fourth"

I want $array[1] to be removed from the array (like in array_shift()), so that third takes the place of second and fourth the place of third:

$array[0] = "first"    
$array[1] = "third"  
$array[2] = "fourth"
question from:https://stackoverflow.com/questions/3753597/php-reorder-arrays-after-unset

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)
$array = array_values($array);

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...