数组问题

灵魂自由 2007-07-26 09:49:12
$a = array(0=>'',1=>'a',2=>'',3=>'b',4=>'c');
如何使这个$a 变量,变成以下形式:
$a = array(0=>'a',1=>'b',2=>'c');
也就是说,先将数组中,值为空的元素彻底删除,然后重新排序,如何做?
...全文
178 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
灵魂自由 2007-07-26
  • 打赏
  • 举报
回复
谢谢楼上几位高手,我试了一下,解决了,再次感谢
helloyou0 2007-07-26
  • 打赏
  • 举报
回复
array_values(array_filter($a))
foolbirdflyfirst 2007-07-26
  • 打赏
  • 举报
回复
foreach就挺好的了,不用那么追求极端.
以下也可以,数组比较小的情况下,感觉效率还不如foreach呢.:-)

$a = array(0=>'',1=>'a',2=>'',3=>'b',4=>'c');
$a = array_values(array_filter($a,"trim"));
print_r($a);
wasuka 2007-07-26
  • 打赏
  • 举报
回复
我也是在翻过函数库后才这么写的,因为没发现类似的现有函数
灵魂自由 2007-07-26
  • 打赏
  • 举报
回复
我忘说了,我想找的PHP里有没有array_*这种函数,完成上面所说的。用foreach,有时觉得不太值,只有四个元素的一维数组,两个元素为空值,剔除过程用foreach来写,代码个人感觉有些多了,PHP自带函数,能完成吗?谢谢楼上的方法
wasuka 2007-07-26
  • 打赏
  • 举报
回复
<?php
$a = array(0=>'',1=>'a',2=>'',3=>'b',4=>'c');
foreach($a as $k=>$v)
{
if($v!="") ($b[]=$v);
}
print_r($b); //Array ( [0] => a [1] => b [2] => c )
?>

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧