辛星解读之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版本号以上可用,它接受三个參数,第一个是初始索引,第二个是填充元素的数量,第三个用于填充数组的键值,特别easy理解把。

    第八个函数则是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.

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

  

原文地址:https://www.cnblogs.com/yjbjingcha/p/6999834.html