辛星解读之php中的重点函数第一节之数组函数

    这里我已经写好它的pdf版本了,比本博客更加适合阅读。首先说一下它在百度网盘的下载地址把:百度网盘下载 ,如果左边连接跪了,可以在浏览器中输入:http://pan.baidu.com/s/1qW5AYzM 来下载。然后说一下它在csdn的下载地址,是免积分的奥,下载地址:csdn资源下载处 ,如果连接不起作用,可以在浏览器输入:http://download.csdn.net/detail/xinguimeng/7697309
  来手动下载。

     好,我们知道php中函数还是很多的,正是这些函数为php提供了强大的支持,本小节我们研究一下php中的数组函数,由于php是一门弱类型语言,它的数组其实是即有点像其他编程语言的数组,又有点像其他编程语言的字典,因此,还是蛮灵活多变的。

     第一个函数就是array函数了,我们通常用它来创建一个数组它可以用于创建数值数组、关联数组、多维数组,功能也是异常的强大,这里它可以直接输入所有的值,也可以输入键值对,如果是键值对,多个键值对之间用逗号进行分割,而且键用=>来指向值,还是蛮直观的。另外说一下,如果PHP的版本达到了5.4,那么可以使用段数组的语法来创建,即咱们用[]来代替array(),这个中括号里面和array函数里面写的东西是一样的。

    第二个函数就是array_chunk,它用于数组分割,我们可以用它把数组分割为若干个元素的数组块,它接受三个参数,第一个参数是一个数组名,第二个参数是每几个元素为一组,第三个参数是可选的,默认取值为false,即不保留原始的键名,当然咱们可以设置为true来保留原始的键名,它的输出是一个多维数组。

    第三个函数是array_column,这个函数很有用,但是它需要PHP5.5的版本,这里说一下把,它可以取出多维数组中某一列下标所对应的值,这一点对于从数据库中取出的数组数据来说尤其方便。

     第四个函数是array_combine,它用来匹配数组的键值对,它需要两个参数,这两个参数是两个数组名,第一个用来当键,第二个用来当值,它们在PHP5中都是通用的,而且该数组还是蛮好用的。

    第五个函数是array_count_values来统计元素出现次数,它只需要输入一个数组名即可,它会自动统计该数组中元素出现的次数,并且返回值也是一个数组,所不同的是返回的这个数组的值只会是整数,而且是正整数。

    第六个函数就比较复杂了,它不是一个函数,而是一个函数家族,就是array_diff系列,这个系列进行数组比较的功能,array_diff_assoc函数比较键名和键值,array_diff_key函数只比较键值,array_diff_uassoc使用用户自定义的函数去比较键名和键值,array_diff_ukey使用用户自定义的函数去比较键值。这些函数所比较得到的结果是一个差集,它们都可以接受N个参数,都是从第一个参数的数组中出去后面各个参数中所拥有的数组的元素,然后返回剩下的数组。

    第七个函数就是大家喜闻乐见的array_fill了,它在PHP4.2版本以上可用,它接受三个参数,第一个是初始索引,第二个是填充元素的数量,第三个用于填充数组的键值,特别容易理解把。

    第八个函数则是array_fill_keys了,它是在PHP5.2中引入的一个函数,它的第一个需要传递的参数是一个由键组成的数组,第二个参数则是数组的值,咱们得到的就是一个数组,它的键在第一个参数中被指定,值是咱们函数所使用的第二个参数,它的名字叫做array_fill_keys。

    第九个函数则是array_flip,它的作用是把数组的键值对互换,即把键当成新数组的值,把值当成新数组的键,该函数在PHP4以上版本都可用。

    第十个函数则是array_filter,它的作用是进行数组的过滤,它所需要的第一个参数是一个数组,第二个则是一个回调函数,当我们调用array_filter的时候,它会自动把值传递给我们的回调函数,我们的回调函数在判断之后,如果返回值为true,则保留,否则,就抛弃该元素。值得注意的是这里的array_filter的第二个参数需要加双引号的,算了,我这里还是给出代码示例把:

<?php 
function xin($var){
	return ($var % 3 == 0);
}

$arr = array(4,5,6,7,8,9);
$msg = array_filter($arr,"xin");
print_r($msg);

那么上面的输出就会是一个数组,且该数组内的元素只有6和9.

本篇博客写到这里就先告一段落了,辛星,期待您的关注奥。

  

辛星解读之php中的重点函数第一节之数组函数,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。