PHP去除空数组且数组键名重置的讲解

php空数组的话,能够运用 php函数array_filter() .

array array_filter ( array [, callback callback] ) 

array_filter() 顺次将 array 数组中的每个值传递到 callback 函数。假如 callback 函数回来 TRUE,则 array 数组的当时值会被包含在回来的成果数组中。数组的键名保存不变。

假如没有供给 callback 函数,array_filter() 将删去 array 中所有等值为 FALSE 的条目.这也即是过滤数组空白元素的精华.

如下所示:

$entry = array(
       0 => '我们',
       1 => false,
       2 => 1,
       3 => null,
       4 => '',
       5 => 'www.jb51.net',
       6 =>'0'
     );
print_r(array_filter($entry));  

上列代码输出内容:

Array
(
    [0] =>php去除空数组
    [2] => 1
    [5] =>www.jb51.net
)

能够看出,false,null,和真正的”空白以及0都被过滤了,并且数组的下标没有改变.

这么就引申出来一个新问题,假如我想对array_filter()处理过的新数组的键名序列化成0,1,2,3这么的怎么办呢?这在数组比较中是很有用的,那么需求用到 php的sort()函数.

bool sort ( array &array [, int sort_flags] ) 

本函数对数组进行排序。当本函数结束时数组单元将被从最低到最高从头安排。

留意: 本函数为 array 中的单元赋予新的键名。这将删去原有的键名而不仅是从头排序。

假如成功则回来 TRUE,失败则回来 FALSE。

PHP代码

$my_array = array("0" => "我们 ", "2" => "1", "5" => "www.jb51.net");
sort($my_array);
print_r($my_array);
?> 

输出成果为:

Array  
(  
    [0] => 1  
    [1] => www.jb51.net 
    [2] => 我们  
)

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持。如果你想了解更多相关内容请查看下面相关链接

(0)

相关推荐

  • PHP正则验证字符串是否为数字的两种方法并附常用正则

    php 正则验证字符串是否为数字 方法一: php中利用正则表达式验证字符串是否为数字一件非常容易的事情,最主要的是如何写好正则表达式以及掌握正则表达式的写法,在此利用正则表达式的方式来列举一下判断数字的方法. <? if($str) { if(eregi("^[0-9]+$",$str)) { $str=(int)$str; } else { echo "获取到的数据不是有效的数字类型,操作将停止!"; exit(); } } else { echo &qu

  • PHP的微信支付接口使用方法讲解

    在开发之中经常会使用到支付的功能,现在常用的两种支付方式是支付宝和微信.相对而言,支付宝的文档较为健全,并且配置和调用方式方式比较简单,这里就不过多的描述. 首先去微信官网网站下去下载服务端的demo:https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=11_1 这里虽然是官网提供的公众号支付的demo,虽然微信支付的预下单等都可以在前端进行实现,不过官方还是建议在服务端进行处理.下载后,将其中的demo引入你的项目就好,注意的是如果

  • PHP htmlentities()函数用法讲解

    PHP htmlentities() 函数 实例 把一些字符转换为 HTML 实体: <?php $str = "<© W3CSçh°°¦§>"; echo htmlentities($str); ?> 上面代码的 HTML 输出如下(查看源代码): <!DOCTYPE html> <html> <body> <© W3CSçh°°¦§> </body> </html> 上面代码的浏览器输出

  • PHP中rename()函数的妙用讲解

    大家都知道,rename()函数可以对文件或目录进行重命名的操作.其实它还可以做很多事情. 熟悉unix的朋友应该知道shell命令mv,它相当与win32的移动,而且移动的同时可进行重命名.我发现,php的rename()函数就相当于mv,它不仅仅只有简单的重命名的功能,同样可以改变文件甚至整个目录的路径. 例如: $oldpath ----文件或目录原来路径 $newpath ----新定义路径 那么 rename($oldpath,$newpath)就可以完成文件/目录移动的操作 经过我的

  • ThinkPHP中图片按比例切割的代码实例

    在开发中,经常会遇到图片需要按照一定比例进行缩放的情况,但是,如果一张长宽比为2:1的如果需要按照1:1的比例进行展示,那么这就意味着图片会发生变形.下面便介绍下载tp框架中如何按照比例切割并缩放图片. /** * 切割图片 * @param $path 所要切割的图片的路径 * @param $prefix 给切割后图片的前缀 * @param $width 宽度所占比例 * @param $height 高度所占比例 * @return string 图片名称 */ function siz

  • PHP htmlspecialchars_decode()函数用法讲解

    PHP htmlspecialchars_decode() 函数 实例 把预定义的 HTML 实体 "<"(小于)和 ">"(大于)转换为字符: <?php $str = "This is some <b>bold</b> text."; echo htmlspecialchars_decode($str); ?> 上面代码的 HTML 输出如下(查看源代码): <!DOCTYPE html&

  • PHP递归算法的简单实例

    递归函数为自调用函数,在函数体内直接或直接自个调用自个,但需求设置自调用的条件,若满意条件,则调用函数自身,若不满意则停止本函数的自调用,然后把目前流程的主控权交回给上一层函数来履行,也许这么给我们解说,仍是很难理解,比如 function test ($n){ echo $n." "; if($n>0){ test($n-1); }else{ echo ""; } echo $n." " } test(2) 这个比如终究的输出结果是 2

  • PHP判断是否是微信打开还是浏览器打开的方法

    /** * 方法一:判断判断是否是微信打开(试过,可以) */ $ua = $_SERVER['HTTP_USER_AGENT']; if (strpos($ua, 'MicroMessenger') == false && strpos($ua, 'Windows Phone') == false) { echo '普通浏览器打开'.$wxpay_type; //跳转移动端页面 $alipay_type=5;//支付宝移动支付 $wxpay_type=3;//微信H5支付 } else

  • PHP微信发送推送消息乱码的解决方法

    先用urlencode是因为中文在数组转json时会被编码为unicode,微信接口无法识别,所以得在json_encode前先来个编码,等转换后再用urldecode转回来,这样传输给接口的就是正常的中文了. 参考代码: $message = array( 'touser'=>$touser, 'msgtype'=>'text', 'text'=>array('content'=>urlencode($text)) ); $message = urldecode(json_enc

  • PHP递归的三种常用方式

    递归:函数自己调用自己的一种编程方法,类似于循环,所以递归调用的函数中必须有终止条件,否则就会成为死循环 无限级:其实并不是真正的无限级,只是层级不确定,所以我们称之为无限级 因为常用递归实现无限级分类,所以我们习惯说无限级的时候带上分类. 递归的三种常用技法: 静态变量.全局变量.引用 一 静态变量方式 function loop(){ static $i = 0; echo $i.' '; $i++; if($i<10){ loop(); } } loop();//输出 0 1 2 3 4

随机推荐