php中删除数组中的某一些元素

$a=array(0,0,0,1,2,4,2)我的目的是去掉所有的0元素要得到的数组为$a=array(1,2,4,2)... $a=array(0,0,0,1,2,4,2)
我的目的是去掉所有的0元素
要得到的数组为$a=array(1,2,4,2)
展开
 我来答
lyz810
2015-10-25 · 知道合伙人互联网行家
lyz810
知道合伙人互联网行家
采纳数:7531 获赞数:31778
前端开发工程师

向TA提问 私信TA
展开全部

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);

浮傲南陶天
2019-03-04 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:34%
帮助的人:886万
展开全部
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);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
相逢一笑泯仇恩
2010-10-21 · TA获得超过141个赞
知道小有建树答主
回答量:146
采纳率:0%
帮助的人:132万
展开全部
<?php
$arr=array(0,0,0,1,2,4,2);
$arr=array_filter($arr);
print_r($arr);
?>
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cheng1633
2010-10-21 · TA获得超过463个赞
知道小有建树答主
回答量:501
采纳率:0%
帮助的人:284万
展开全部
相逢一笑泯仇恩 这个算法不错。
<?php
$arr=array(0,0,0,1,2,4,2);
$arr=array_filter($arr);
print_r($arr);
?>
不错 我试试比foreach 还快点!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友30a5adb
2010-10-21
知道答主
回答量:8
采纳率:0%
帮助的人:0
展开全部
相逢一笑泯仇恩 这个算法不错。
<?php
$arr=array(0,0,0,1,2,4,2);
$arr=array_filter($arr);
print_r($arr);
?>

利用php原生函数。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式