$array_test = array("0"=>1,"1"=>1,"2"=>5,"3"=>1,"4"=>1,"5"=>3,"6"=>1,"7"=>2);
foreach ($array_test as $key => $value){
echo $key ."=>". $value."<br>";
}
echo "<br><br>";
$p = 1; //定义你要删除的值
$i = 0;
$value_test = reset($array_test);
while ($value_test){
if ($value_test != $p){
$array_c[$i] = $value_test; //生成新的数组
$i++;
}
$value_test = next($array_test);
}
foreach ($array_c as $key => $value){
echo $key ."=>". $value."<br>";
}
foreach ($array_test as $key => $value){
echo $key ."=>". $value."<br>";
}
echo "<br><br>";
$p = 1; //定义你要删除的值
$i = 0;
$value_test = reset($array_test);
while ($value_test){
if ($value_test != $p){
$array_c[$i] = $value_test; //生成新的数组
$i++;
}
$value_test = next($array_test);
}
foreach ($array_c as $key => $value){
echo $key ."=>". $value."<br>";
}
$array_test=array('0'=>1,'1'=>1,'2'=>5,'3'=>1,'4'=>1,'5'=>3,'6'=>1,'7'=>2);
$array_test=preg_grep('/1/',$array_test,PREG_GREP_INVERT);print_r($array_test);//不重新索引
print_r(array_values($array_test));//重新索引
?>
手册上怎么没找到??
preg_grep
(PHP 4, PHP 5)preg_grep -- 返回与模式匹配的数组单元
说明
array preg_grep ( string pattern, array input [, int flags] )preg_grep() 返回一个数组,其中包括了 input 数组中与给定的 pattern 模式相匹配的单元。
flags 可以是以下标记:
PREG_GREP_INVERT
如果传递入此标记,preg_grep() 会返回输入数组中不匹配给定 pattern 的单元。本标记自 PHP 4.2.0 起可用。
自 PHP 4.0.4 起,preg_grep() 返回的结果使用从输入数组来的键名进行索引。如果不希望这样的结果,用 array_values() 对 preg_grep() 返回的结果重新索引。
$array_1 = array(1,1,5,1,1,3,1,2);
$array_2 = array(1);
print_r(array_diff($array_1,$array_2));然后重新建下索引