php 数组移除某项,[PHP]数组移除某个值的两种方式

php中从数组中移除某个值,可以有两种方式,一种是常规的遍历比值然后移除,另一种是利用array_diff函数。

先利用是利用遍历数组的方式写了个函数:

function array_delete_value($array,$delete_value){

foreach ( $array AS $k=>$v ) {

if ( $v === $delete_value ) {

unset($array[$k]);

}

}

return $array;

}

用法:array_delete_value(原数组,待移除的值);

两种方式的使用:

1.利用自定义函数:

$del='';

$t=0;

function array_delete_value($array,$delete_value){

foreach ( $array AS $k=>$v ) {

if ( $v === $delete_value ) {

unset($array[$k]);

}

}

return $array;

}

for ( $i=1;$i<5000;$i++ ) {

$s1=microtime(true);

$file2=array('','net920','cn','','xxxx','kkkk','sdfasd','53453','sdfsadfsafddsaf',0);

$file2=array_delete_value($file2,$del);

$s2=microtime(true);

$t=$t + ($s2-$s1);

}

echo number_format($t/$i,10);

print_r($file2);

?>

2.利用array_diff函数:

$del='';

$t=0;

for ( $i=1;$i<5000;$i++ ) {

$s3=microtime(true);

$file=array('','net920','cn','','xxxx','kkkk','sdfasd','53453','sdfsadfsafddsaf',0);

$file=array_values(array_diff($file, array($del)));

$s4=microtime(true);

$t=$t + ($s4-$s3);

}

echo number_format($t/$i,10);

print_r($file);

?>

从效率上来说,使用自定义方式效率稍微高一点点,不多,呵呵。看情况来决定吧,自定义函数方式不会改变键名,第二种方式会改变键名。

标签:PHP, 函数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值