文档章节

PHP数组的一些常用函数

雨醉风尘
 雨醉风尘
发布于 2015/08/11 21:29
字数 1154
阅读 135
收藏 6

1---数组中元素值的返回------->array_values();

2---数组中键名的返回---------->array_keys();

     //这两个函数的返回值也同样是数组,下表改变为索引,从0开始

<?php
$arr = array(
'brand1'=>'lumia800',
'brand2'=>'lumia900',
'brand3'=>'lumia640xl'
);
    echo "<pre>";
    var_dump(array_values($arr));
    echo "</pre>";
    
    echo "<hr color=red/>";
    
    echo "<pre>";
    var_dump(array_keys($arr));
    echo "</pre>";

//程序的结果如下1,2

array(3) {
  [0]=>
  string(8) "lumia800"
  [1]=>
  string(8) "lumia900"
  [2]=>
  string(10) "lumia640xl"
}

array(3) {
  [0]=>
  string(6) "brand1"
  [1]=>
  string(6) "brand2"
  [2]=>
  string(6) "brand3"
}

//***************************************************************************************************************

3---检查数组中是否存在某个元素---------->in_array(needle,haystach,[boll strict]);

<?php
$arr=array("lumia640","lumia800","lumia1520",900);
var_dump(in_array("lumia800", $arr));
var_dump(in_array("900", $arr));        
var_dump(in_array("900", $arr,true));
//*******结果输出**************************************
//boolean true
//boolean true
//boolean false<-------因为第三个参数表示为严格查找--->类型和值
?>


3---数组元素键名与值得对调

<?php
$arr=array("lang1" => "php",
           "lang2" => "python",
           "lang3" => "node");
var_dump(array_flip($arr));
//**********************
//'php' => string 'lang1' (length=5)
//'python' => string 'lang2' (length=5)
//'node' => string 'lang3' (length=5)
?>


4:数组元素个数的统计---count()

<?php
$arr1 = array("php"    =>array("php5.3","php5.4","php5.5","php7"),
              "python" =>array("python2.7","python3.3","python3.4")
            );
$num1 = count($arr1);    //遍历到一维 php+python=2
$num2 = count($arr1,1);  //一维+二维遍历 2+4+3=9
echo '数组$arr1一维统计的结果是-'.$num1."<br/>";
echo '数组$arr1多维统计的结果是-'.$num2."<br/>";
?>


5:数组中元素出现次数的统计array_count_values()

<?php
$arr=array("php",1,"python",1,"php",1);
var_dump(array_count_values($arr));
 // 'php' => int 2
 //  1 => int 3
 //  'python' => int 1
?>


6:删除数组中重复的值array_unique()

<?php
$arr=array("a"=>"php","b"=>1,"c"=>"python","d"=>1,"e"=>"php",1);
var_dump(array_unique($arr));
//********如有值重复则保留前面的删除后面的*******
  // 'a' => string 'php' (length=3)
  // 'b' => int 1
  // 'c' => string 'python' (length=6)
?>


7:调用自定义的函数处理数组内容array_filter()

<?php
$arr=array(1,2,3,4,5,6,7,8,9,10);
//*************************自定义函数的调用****
var_dump(array_filter($arr,"myfun"));
function myfun($val){
if($val%2 != 0){
return $val;
  }
    }
//***********输出结果***********************
  // 0 => int 1
  // 2 => int 3
  // 4 => int 5
  // 6 => int 7
  // 8 => int 9
?>

8:数组元素值得排序

<?php
//******************后面的元素为后加的***********
$arr=array(1,4,6,2,3,'a','g','b','A');
sort($arr);       //顺序---从小到大
var_dump($arr);
  // 0 => string 'A' (length=1)----->大写最小
  // 1 => string 'a' (length=1)----->小写次之
  // 2 => string 'b' (length=1)
  // 3 => string 'g' (length=1)
  // 4 => int 1--------------------->数字最大了
  // 5 => int 2
  // 6 => int 3
  // 7 => int 4
  // 8 => int 6
rsort($arr);
var_dump($arr);  //倒序---从大到小
//   0 => int 6
//   1 => int 4
//   2 => int 3
//   3 => int 2
//   4 => int 1
?>


9: 根据条件在数组取出一段值并返回---array_slice()

<?php
//下标*****0*1*2*3*4**5***6***7***8**
$arr=array(1,4,6,2,3,'a','g','b','A');
$rest1 = array_slice($arr, 2, 3);    //下标从第2位开始往后取三位
$rest2 = array_slice($arr, -3, 3);   //下标从倒数第2位开始往后取三位
var_dump($rest1);   //6,2,3
var_dump($rest2);   //g,b,A
?>


10: 数组的合并为一个新数组,前数组键名,后数组键值

<?php
$arr1=array('os','webserver','database','script');
$arr2=array('linux','apache','mongodb','php');
//数组的合并,前面的数组元素值作为新数组键名,后面的数组元素值作为新数组的值
var_dump(array_combine($arr1, $arr2));
  // 'os' => string 'linux' (length=5)
  // 'webserver' => string 'apache' (length=6)
  // 'database' => string 'mongodb' (length=7)
  // 'script' => string 'php' (length=3)
?>


11:数组的合并,有相同元素值的保留后一个array_merge()

<?php
$arr1=array('a'=>'windows','b'=>'apache','c'=>'mysql');
$arr2=array('d'=>'linux','b'=>'nginx','e'=>'mongodb');
//数组的合并,若两数组中有相同的键名则后面覆盖前面
var_dump(array_merge($arr1, $arr2));
  // 'a' => string 'windows' (length=7)
  // 'b' => string 'nginx' (length=5)
  // 'c' => string 'mysql' (length=5)
  // 'd' => string 'linux' (length=5)
  // 'e' => string 'mongodb' (length=7)
?>


12: 数组的交集与差集array_intersect()与array_diff()

<?php
$arr1=array('windows','nginx','mysql');
$arr2=array('linux','nginx','mongodb');
var_dump(array_intersect($arr1, $arr2));  //nginx
var_dump(array_diff($arr1, $arr2));       //返回两者相差的第一数组的元素
//   0 => string 'windows' (length=7)
//   2 => string 'mysql' (length=5)
?>



13: 数组内容的追加--array_push()

<?php
$arr1=array('windows','nginx','mysql');
$arr2=array('linux','nginx','mongodb');
array_push($arr1, 'php');     //向数组后追加一个元素
array_push($arr2, $arr1);     //在数组后追加一个数组
var_dump($arr1);
  // 0 => string 'windows' (length=7)
  // 1 => string 'nginx' (length=5)
  // 2 => string 'mysql' (length=5)
  // 3 => string 'php' (length=3)
var_dump($arr2);
  // 0 => string 'linux' (length=5)
  // 1 => string 'nginx' (length=5)
  // 2 => string 'mongodb' (length=7)
  // 3 => 
  //   array
  //     0 => string 'windows' (length=7)
  //     1 => string 'nginx' (length=5)
  //     2 => string 'mysql' (length=5)
  //     3 => string 'php' (length=3)
?>


14:数组元素由后往前删除array_pop()

<?php
$arr=array('linux','apache','ngnix','php');
array_pop($arr);   //删除最后一个元素 php
var_dump($arr);
array_pop($arr);   //删除倒数第二个元素,相对于原始数组
var_dump($arr);
// array
//   0 => string 'linux' (length=5)
//   1 => string 'apache' (length=6)
//   2 => string 'ngnix' (length=5)
//*********************************
// array
//   0 => string 'linux' (length=5)
//   1 => string 'apache' (length=6)
?>


15:数组元素由前往后删除array_pop()

<?php
$arr=array('linux','apache','ngnix','php');
array_shift($arr);   //删除第一个元素 php
var_dump($arr);
array_shift($arr);  //删除第第二个元素,相对于原始数组
var_dump($arr);
// array
//   0 => string 'apache' (length=6)
//   1 => string 'ngnix' (length=5)
//   2 => string 'php' (length=3)
// array
//   0 => string 'ngnix' (length=5)
//   1 => string 'php' (length=3)
?>



© 著作权归作者所有

共有 人打赏支持
雨醉风尘
粉丝 3
博文 106
码字总数 23692
作品 0
海淀
程序员
私信 提问
0057 PHP编程语言的条件和循环语句以及函数

  上一节课讲的是PHP编程语言的基础语法和一些简单例子。   这节课来说明几种基本的程序逻辑以及函数的用法,包括常用的字符串函数和数组函数。   PHP条件语句 if...else...elseif   ...

零基础学编程
2018/10/03
0
0
一个PHP程序员应该掌握的10项技能

网站推广很多学PHP的人一直也搞不清楚,一个PHP程序员和Java程序员或者是.net程序员有什么不同,告诉你,其实都一样!没有什么不同,下面的内容,就是针对一个Java程序员掌握的技能对比PHP来说...

网络营销
2011/12/31
0
0
php新手入门之PHP常用特殊运算符号

php新手入门之PHP常用特殊运算符号,尖锋网站长发布分享。 尖锋网常发布一些技术分享资料和文章。欢迎大家提供高质量的旅游生活养生问答。 注解符号: // 单行注解 多行注解 引号的使用 ' ' ...

技术小胖子
2017/11/14
0
0
php程序员应该掌握的10个技能

1、语法:必须熟练掌握 ,写代码的时候IDE的编辑器对某一行报错应该能够根据报错信息知道是什么样的语法错误并且知道任何修正。 2、命令:必须熟悉PHP带的一些常用命令及其常用选项,熟悉那些...

忆童
2012/02/14
0
0
php函数method_exists()与is_callable()的区别

php函数methodexists()与iscallable()的区别在哪?在php面相对象设计过程中,往往我们需要在调用某一个方法是 否属于某一个类的时候做出判断,常用的方法有methodexists()和iscallable(),相...

网络营销
2012/02/10
0
0

没有更多内容

加载失败,请刷新页面

加载更多

大数据剖析热点新闻:996、巴黎圣母院、奔驰维权为什么成为本周热搜

智能大数据专家表示:每一段重要的时期都会有一串隐秘的数字密码,请往下看: 本周共有50条新闻,作为嗅嗅的样本进行数据分析,得出以下统计图: 1.新闻热词折线统计图 在新闻标题及正文中,...

forespider
22分钟前
0
0
Coding and Paper Letter(六十四)

资源整理。 1 Coding: 1.交互式瓦片编辑器。 tile playground 2.R语言包autokeras,autokeras的R接口。autokeras是一个开源的自动机器学习的软件。 autokeras 3.斯坦福网络分析平台,用于网络...

胖胖雕
59分钟前
1
0
最简单的cd命令是个大坑!

BASH Shell 是大多 Linux 发行版的默认 shell,BASH 有一些自己的内置命令,cd 就是其中的一个。 在centos6里面,系统中不存在 cd 的二进制文件。但是你仍然可以运行该命令,这是因为 cd 是 ...

gaolongquan
今天
1
0
spring获取bean的几种方式

使用jdk:1.8、maven:3.3.3 spring获取Bean的方式 pom.xml文件内容: <?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="......

Vincent-Duan
今天
3
0
一段话系列-Linux中IO的同步、异步、阻塞、非阻塞

首先我们框定一下背景,我们探讨的是Linux系统下的IO模型。 同步和异步是针对内核操作数据而言的,同步是指内核串行顺序操作数据,异步是指内核并行(或并发)操作数据,然后通过回调的方式通...

EasyProgramming
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部