php中删除数组中的某一些元素
我的目的是去掉所有的0元素
要得到的数组为$a=array(1,2,4,2) 展开
array_splice函数可以删除数组中的元素(只是该函数的功能之一),array_splice用法如下:
array_splice — 把数组中的一部分去掉并用其它值取代
array array_splice( array &$input, int $offset[, int $length = 0 [, mixed $replacement ]] )
把 input 数组中由offset 和 length指定的单元去掉,如果提供了 replacement 参数,则用其中的单元取代。
input:输入的数组。
offset:如果 offset 为正,则从 input数组中该值指定的偏移量开始移除。如果 offset为负,则从 input 末尾倒数该值指定的偏移量开始移除。
length:如果省略 length,则移除数组中从offset到结尾的所有部分。
如果指定了 length并且为正值,则移除这么多单元。
如果指定了 length并且为负值,则移除从 offset 到数组末尾倒数length 为止中间所有的单元。
小窍门:当给出了replacement 时要移除从 offset到数组末尾所有单元时,用count($input) 作为 length。
replacement:如果给出了 replacement 数组,则被移除的单元被此数组中的单元替代。
示例,删除数组$inputArr的第5~10个元素(从0开始数,包括第5个和第10个,共6个元素)
array_splice($inputArr,5,6);
array_splice
—
把数组中的一部分去掉并用其它值取代
array array_splice( array &$input, int $offset[, int $length = 0 [, mixed $replacement ]] )把
input
数组中由offset
和
length指定的单元去掉,如果提供了
replacement
参数,则用其中的单元取代。
input:输入的数组。
offset:如果
offset
为正,则从
input数组中该值指定的偏移量开始移除。如果
offset为负,则从
input
末尾倒数该值指定的偏移量开始移除。
length:如果省略
length,则移除数组中从offset到结尾的所有部分。
如果指定了
length并且为正值,则移除这么多单元。
如果指定了
length并且为负值,则移除从
offset
到数组末尾倒数length
为止中间所有的单元。
小窍门:当给出了replacement
时要移除从
offset到数组末尾所有单元时,用count($input)
作为
length。
replacement:如果给出了
replacement
数组,则被移除的单元被此数组中的单元替代。
示例,删除数组$inputArr的第5~10个元素(从0开始数,包括第5个和第10个,共6个元素)
array_splice($inputArr,5,6);
$arr=array(0,0,0,1,2,4,2);
$arr=array_filter($arr);
print_r($arr);
?>
<?php
$arr=array(0,0,0,1,2,4,2);
$arr=array_filter($arr);
print_r($arr);
?>
不错 我试试比foreach 还快点!
<?php
$arr=array(0,0,0,1,2,4,2);
$arr=array_filter($arr);
print_r($arr);
?>
利用php原生函数。