1、list()

  list() 和 array() 一样,不是一个函数,而是一个语言结构,作用是为一组变量赋值。

   PHP手册中的介绍

    

  使用详情 

<?php

//假设现在想为$a $b $c三个变量赋值,采用info数组中的内容

$info = ['this is a','this is b','this is c'];
list($a,$b,$c) = $info; print<<<EOT
$a
<br>
$b
<br>
$c
<br>
EOT;

  运行结果

  

2、each()  

  

//实例代码 遍历$arr
<?php
$arr = ['a'=>'this is a','b'=>'this is b','c'=>'this is c']; while($tmp = each($arr))
{
echo $tmp['key'].':'.$tmp['value'].'<br>';
}

  运行结果:

  

3、数组指针操作

  • current()
  • key()
  • next()
  • prev()
  • end()
  • reset()
<?php
/*
1 current(); //读取指针位置的内容
2 key(); //读取当前指针指向内容的索引值
3 next(); //将数组中的内部指针指向下一单元
4 prev(); //将数组内部指针倒回一位
5 end(); //将数组内部指针指向最后一个元素
6 reset(); //将目前指针指向第一个索引位置
*/ $info = [
'a' => 'this is a',
'b' => 'this is b',
'c' => 'this is c',
'd' => 'this is d'
]; echo key($info).':'.current($info).'<br>'; next($info);
echo key($info).':'.current($info).'<br>'; end($info);
echo key($info).':'.current($info).'<br>'; reset($info);
echo key($info).':'.current($info).'<br>';

  运行结果:

  

4、键值操作函数

<?php

$info = [
'a' => 'apple',
'b' => 'blog',
'c' => 'cat',
'd' => 'dog'
]; echo 'keys:<br>';
//输出info数组的所有键
var_dump(array_keys($info));
echo '<br>';
echo 'values:<br>';
//输出info数组的所有值
var_dump(array_values($info));
echo '<br>'; //转换info数组 键值互换
echo 'flips:<br>';
var_dump(array_flip($info));
echo '<br>'; //搜索apple
echo 'search:<br>';
echo 'apple key is :'.array_search('apple',$info);
echo '<br>'; //元素翻转
echo 'reverse:<br>';
var_dump(array_reverse($info));
echo '<br>'; //检查元素
echo 'in?<br>';
echo 'blog is in $info? '.var_dump(in_array('blog',$info));
echo '<br>'; //检查键
echo 'key in?<br>';
echo 'b is in $info? '.var_dump(array_key_exists('b',$info));
echo '<br>'; //统计值的出现次数
$info[] = 'blog';
$info[] = 'blog';
echo 'value count<br>';
var_dump(array_count_values($info));
echo '<br>'; //删除重复的值
echo 'before unique<br>';
var_dump($info);
echo '<br>after unique<br>';
var_dump(array_unique($info));

  运行结果:

 5、回调函数

  示例数组:

$info = [
'a' => 'apple',
'b' => 'blog',
'c' => 'cat',
'd' => 'dog'
];

  array_filter();

  PHP手册参考:

  

//array_filter();

//不使用flag
$filter_arr = array_filter($info,function($value){
return strlen($value) == 3;
});
var_dump($filter_arr);
echo '<br>';
//使用flag
$filter_arr = array_filter($info,function($key){
return in_array($key,['a','c']);
},ARRAY_FILTER_USE_KEY);
var_dump($filter_arr);
echo '<br>'; $filter_arr = array_filter($info,function($value,$key){
return in_array($key,['a','c']) && $value == 'apple';
},ARRAY_FILTER_USE_BOTH);
var_dump($filter_arr);
echo '<br>';

  输出结果:

  array_walk();

  PHP手册参考:

  

//array_walk();

//不使用 userdata
array_walk($info,function($value,$key){
echo "$key:$value ";
});
echo "<br>"; //使用 userdata
array_walk($info,function(&$value,$key,$userdata){
$value = $userdata.'-'.$value;
},'php');
var_dump($info);
echo "<br>";

  输出结果:

  array_map();

  PHP手册参考:

  

//array_map();
//单个数组
array_map(function($n){
echo "$n ";
},$info);
echo "<br>";
//多个数组
$info_2 = [
'e' => 'egg',
'f' => 'filco',
'g' => 'good'
];
array_map(function($n1,$n2){
echo "1:$n1-2:$n2 ";
},$info,$info_2);
echo '<br>';

  运行结果:

  

 6、数组分割

  array_slice()

  PHP手册参考

  

  array_splice()

  PHP手册参考:

  

  array_chunk()

  PHP手册:

  

  

  测试代码:

<?php
$info = [
'a' => 'apple',
'b' => 'blog',
'c' => 'cat',
'd' => 'dog'
]; //array_slice()
echo 'array_slice:<br>';
print_r(array_slice($info,0,3));
echo '<br><hr>'; //array_splice();
echo 'array_splice:<br>';
echo '原数组:<br>';
print_r($info);
echo '<br>';
//替换掉前两位
$tmp = array_splice($info,0,2,['king','queen']);
echo '替换后的数组:<br>';
print_r($info);
echo '<br>';
echo '替换掉数组:<br>';
print_r($tmp);
echo '<br><hr>'; //恢复原数组
$info = [
'a' => 'apple',
'b' => 'blog',
'c' => 'cat',
'd' => 'dog'
];
//array_chunk();
echo 'array_splice:<br>';
echo '替换后的数组:<br>';
$tmp = array_chunk($info,2);
var_dump($tmp);

  运行结果:

7、数组运算

  测试代码:

  

<?php
$info = [
'a' => 'apple',
'b' => 'blog',
'c' => 'cat',
'd' => 'dog'
]; $info_2 = [
'e' => 'apple',
'f' => 'egg',
'g' => 'java',
'h' => 'cat'
]; $info_num = [120,10,1]; //array_sum
echo 'array_sum:<br>';
echo array_sum($info_num);
echo '<br>';
echo array_sum($info); //只对元素中的数值进行求和
echo '<br><hr>'; //array_merge
echo 'array_merge:<br>';
print_r(array_merge($info,$info_2,$info_num));
echo '<br><hr>'; //array_diff - 返回在info中但不在其他arr中的值
echo 'array_diff:<br>';
print_r(array_diff($info,$info_2));
echo '<br><hr>'; //array_intersect - 返回在info中也在在其他arr中的值
echo 'array_intersect:<br>';
print_r(array_intersect($info,$info_2));
echo '<br><hr>';

  运行结果:

8、数组的栈和队列操作

9、数组的排序操作

10、其他常用函数 

PHP常用函数(一):数组常用函数的更多相关文章

  1. PHP中的数组(二)常用数组处理函数

    数组的相关处理函数    一.数组键/值操作有关的函数        1.array_values()   无论是关联的还是索引的返回的都是索引数组 <?php $lamp=array(&quo ...

  2. PHP数组处理函数的使用array_map(三)

    /*函数array_map()函数:多数组回调函数---将回调函数作用到给定数组的单元上 * 1.语法:array array_map ( callback callback, array arr1 ...

  3. C/C++ 一段代码区分数组指针|指针数组|函数指针|函数指针数组

    #include<stdio.h> #include<stdlib.h> #include<windows.h> /* 举列子说明什么是函数指针 */ //以一个加 ...

  4. JavaSE语法基础(3)---函数、数组

    JavaSE语法基础(3)---函数.数组 函数的概念:实现特定功能的一段代码,可反复使用. 函数的出现减少代码冗余,提高代码的复用性,可读性,可维护性,可以使每个功能模块独立起来,方便分工合作. 函 ...

  5. php数组键值操作和数组统计函数-函数

    1.数组函数//作用:提供了很多官方写的很多有用的代码段,提高编写速度 1)数组的键值操作函数 array_values();//获取数组中的值 array_keys();//获取数组中的键 in_a ...

  6. JS数组常用函数以及查找数组中是否有重复元素的三种常用方法

    阅读目录: DS01:常用的查找数组中是否有重复元素的三种方法 DS02:常用的JS函数集锦 DS01.常用的查找数组中是否有重复元素的三种方法  1. var ary = new Array(&qu ...

  7. 【PHP】最详细PHP从入门到精通(三)——PHP中的数组常用函数汇总

     PHP从入门到精通 之PHP中的数组常用函数详解 数组作为PHP中最常用的结构之一,PHP强大的数组函数功能,给数组的相关操作带来了极大的便利.今天给大家介绍的PHP中数组函数,是PHP数组中重要的 ...

  8. php常用数组array函数实例总结【赋值,拆分,合并,计算,添加,删除,查询,判断,排序】

    本文实例总结了php常用数组array函数.分享给大家供大家参考,具体如下: array_combine 功能:用一个数组的值作为新数组的键名,另一个数组的值作为新数组的值 案例: <?php ...

  9. python 全栈开发,Day51(常用内置对象,函数,伪数组 arguments,关于DOM的事件操作,DOM介绍)

    昨日内容回顾 1.三种引入方式 1.行内js <div onclick = 'add(3,4)'></div> //声明一个函数 function add(a,b){ } 2. ...

随机推荐

  1. js 如何判断数组元素是否存在重复项

    1.如何判断数组元素是否存在重复项 1)定义测试数组 //定义测试的数组(1个没有重复元素,1个有重复元素) var arr1 = new Array("111","33 ...

  2. 室内Vary 渲染部分作品

    室内Vary 渲染倍分作品

  3. 安装cmake 和 opencv 4.0.0

    1.安装cmake3.5.1或更新的版本 安装gcc-c++:sudo apt-get install build-essential (或者直接执行这两条命令sudo apt-get install ...

  4. 《用Python写爬虫》学习笔记(一)

    注:纯文本内容,代码独立另写,属于本人学习总结,无任何商业用途,在此分享,如有错误,还望指教. 1.为什么需要爬虫? 答:目前网络API未完全放开,所以需要网络爬虫知识. 2.爬虫的合法性? 答:爬虫 ...

  5. idea 的Maven执行异常终止(退出代码1)

    Maven execution terminated abnormally (exit code 1)译文:Maven执行异常终止(退出代码1) 我遇到这个错很迷茫 你们遇见了不要慌 只需要粘贴一行代 ...

  6. 编译安装LAMP

    编译安装MariaDB 创建MariaDB安装目录.数据库存放目录.建立用户和目录 先创建一个名为mysql且没有登录权限的用户和一个名为mysql的用户组,然后安装mysql所需的依赖库和依赖包,最 ...

  7. idea安装proto插件后不能识别.proto文件解决方案

     just had a try and it worked well. Could you please check "File Types" in IDEA? Open &quo ...

  8. Python with open as函数

    可以反复调用write()来写入文件,但是务必要调用f.close()来关闭文件. 当我们写文件时,操作系统往往不会立刻把数据写入磁盘,而是放到内存缓存起来,空闲的时候再慢慢写入. 只有调用close ...

  9. leetcode python 041首个缺失正数

    ##限定时间复杂度O(n)num=[0,5,3,1,2,-2,4,8,5,6]num=set(num)d=1for i in range(1,len(num)+1):    if d in num:  ...

  10. react系列笔记:第三记-redux-saga

    github : https://github.com/redux-saga/redux-saga 文档:https://redux-saga.js.org/ redux-saga:  redux中间 ...