0

0

Android程序员学PHP开发(25)-数组操作相关函数(3)拆组排列篇-PhpStorm

黄舟

黄舟

发布时间:2017-03-03 09:50:46

|

1128人浏览过

|

来源于php中文网

原创

这3篇博文演示了,几乎所有常用的数组函数,在php开发中,大部分时间是操作字符串和数组,所以相关函数比较重要。

http://php.net/manual/zh/ref.array.php

冒泡排序
array_slice() 从数组中取出一段
array_splice() 把数组中的一部分去掉并用其它值取代
array_combine() 创建一个数组,用一个数组的值作为其键名,另一个数组的值作为其值

数组相加 与 数组合并
array_merge() 合并一个或多个数组

交集 与 差集
array_intersect() 计算数组的交集
array_diff() 计算数组的差集

入栈 与 出栈
array_push() 将一个或多个单元压入数组的末尾(入栈)
array_pop() 将数组最后一个单元弹出(出栈)

队列
array_unshift() 在数组开头插入一个或多个单元(入队)
array_shift() 将数组开头的单元移出数组

随机
array_rand() 从数组中随机取出一个或多个单元(随机)

打乱
shuffle() 将数组打乱

求和
array_sum() 计算数组中所有值的和(求和)

range()  建立一个包含指定范围单元的数组
array_fill()  用给定的值填充数组

Flowith
Flowith

一款GPT4驱动的节点式 AI 创作工具

下载
';
    $arr = array(9,8,7,6,5,4,3,2,1,0);
    $tmp;
    for($i=0;$i $arr[$j+1]){
                $tmp = $arr[$j];
                $arr[$j] = $arr[$j+1];
                $arr[$j+1] = $tmp;
            }
        }
    }
    print_r($arr); // Array ( [0] => 0 [1] => 1 [2] => 2 [3] => 3 [4] => 4 [5] => 5 [6] => 6 [7] => 7 [8] => 8 [9] => 9 )
    echo '
'; echo '---------- 冒泡排序 从大到小 ----------
'; $arr = array(0,1,2,3,4,5,6,7,8,9); $tmp; for($i=0;$i $arr[$j]){ $tmp = $arr[$j]; $arr[$j] = $arr[$j+1]; $arr[$j+1] = $tmp; } } } print_r($arr); // Array ( [0] => 9 [1] => 8 [2] => 7 [3] => 6 [4] => 5 [5] => 4 [6] => 3 [7] => 2 [8] => 1 [9] => 0 ) echo '
'; /** * array_slice() 从数组中取出一段 */ echo '---------- array_slice() ----------
'; $arr2 = array("a", "b", "c", "d", "e"); $arr2n = array_slice($arr2, 2, 2); // 从下标2开始,取出2个元素 print_r($arr2n); // Array ( [0] => c [1] => d ) echo '
'; $arr2n2 = array_slice($arr2, -2, 2); // 从(最大下标-2)开始,取出2个元素 print_r($arr2n2); // Array ( [0] => d [1] => e ) echo '
'; /** * array_splice() 把数组中的一部分去掉并用其它值取代 */ echo '---------- array_splice() ----------
'; $arr2 = array("a", "b", "c", "d", "e"); array_splice($arr2, 2); // 从下标2开始,去掉后面所有元素 print_r($arr2); // Array ( [0] => a [1] => b ) echo '
'; $arr2 = array("a", "b", "c", "d", "e"); array_splice($arr2, -3, 2); // 从(最大下标-3)开始,去掉2个元素 print_r($arr2); // Array ( [0] => a [1] => b [2] => e ) echo '
'; $arr2 = array("a", "b", "c", "d", "e"); array_splice($arr2, -3, 2, "hello"); // 从(最大下标-3)开始,去掉2个元素。从去掉的下标开始添加新元素 print_r($arr2); // Array ( [0] => a [1] => b [2] => hello [3] => e ) echo '
'; $arr2 = array("a", "b", "c", "d", "e"); array_splice($arr2, -3, 2, array("hello", "world", "android")); // 从(最大下标-3)开始,去掉2个元素。从去掉的下标开始添加新元素 print_r($arr2); // Array ( [0] => a [1] => b [2] => hello [3] => world [4] => android [5] => e ) echo '
'; /** * array_combine() 创建一个数组,用一个数组的值作为其键名,另一个数组的值作为其值 */ echo '---------- array_combine() ----------
'; $arrA = array("os", "webserver", "db", "language"); $arrB = array("linux", "apache", "mysql", "php"); $arrC = array_combine($arrA,$arrB); print_r($arrC); // Array ( [os] => linux [webserver] => apache [db] => mysql [language] => php ) echo '
'; /** * 数组相加 * 相加时,下标相同时,$arrA的元素会覆盖$arrB的元素 */ echo '---------- 数组相加 ----------
'; $arrA = array("os", "webserver", "db", "language"); $arrB = array("linux", "apache", "mysql", "php"); $arrC = $arrA + $arrB; print_r($arrC); // Array ( [0] => os [1] => webserver [2] => db [3] => language ) echo '
'; $arrA = array("os", "webserver", "db", "language"); $arrB = array(9=>"linux", "apache", "mysql", "php"); $arrC = $arrA + $arrB; print_r($arrC); // Array ( [0] => os [1] => webserver [2] => db [3] => language [9] => linux [10] => apache [11] => mysql [12] => php ) echo '
'; /** * 数组合并 * array_merge() 合并一个或多个数组 * 如果下标是字符串,也就是说关联数组,下标相同时,$arrB的元素会覆盖$arrA的元素 */ echo '---------- array_merge() 数组合并 ----------
'; $arrA = array("os", "webserver", "db", "language"); $arrB = array("linux", "apache", "mysql", "php"); $arrC = array_merge($arrA, $arrB); print_r($arrC); // Array ( [0] => os [1] => webserver [2] => db [3] => language [4] => linux [5] => apache [6] => mysql [7] => php ) echo '
'; $arrA = array("os", "two"=>"webserver", "db", "language"); $arrB = array("linux", "two"=>"apache", "mysql", "php"); $arrC = array_merge($arrA, $arrB); print_r($arrC); // Array ( [0] => os [two] => apache [1] => db [2] => language [3] => linux [4] => mysql [5] => php ) echo '
'; /** * array_intersect() 计算数组的交集 */ echo '---------- array_intersect() 交集 ----------
'; $arrA = array("os", "www", "db", "linux"); $arrB = array("linux", "apache", "mysql", "www"); $arrC = array_intersect($arrA, $arrB); print_r($arrC); // Array ( [1] => www [3] => linux ) echo '
'; /** * array_diff() 计算数组的差集 */ echo '---------- array_diff() 差集 ----------
'; $arrA = array("os", "www", "db", "linux"); $arrB = array("linux", "apache", "mysql", "www"); $arrC = array_diff($arrA, $arrB); print_r($arrC); // Array ( [0] => os [2] => db ) echo '
'; /** * array_push() 将一个或多个单元压入数组的末尾(入栈) */ echo '---------- array_push() 入栈 ----------
'; $arrZhan = array(); array_push($arrZhan,"one"); print_r($arrZhan); // Array ( [0] => one ) echo '
'; array_push($arrZhan,"two"); array_push($arrZhan,"three"); print_r($arrZhan); // Array ( [0] => one [1] => two [2] => three ) echo '
'; array_push($arrZhan,"four","five"); print_r($arrZhan); // Array ( [0] => one [1] => two [2] => three [3] => four [4] => five ) echo '
'; /** * array_pop() 将数组最后一个单元弹出(出栈) */ echo '---------- array_pop() 出栈 ----------
'; array_pop($arrZhan); print_r($arrZhan); // Array ( [0] => one [1] => two [2] => three [3] => four ) echo '
'; echo array_pop($arrZhan); // four echo '
'; print_r($arrZhan); // Array ( [0] => one [1] => two [2] => three ) echo '
'; /** * array_unshift() 在数组开头插入一个或多个单元(入队) */ echo '---------- array_unshift() 入队 ----------
'; $arrDuilie = array(); array_unshift($arrDuilie, "one"); array_unshift($arrDuilie, "two"); array_unshift($arrDuilie, "three"); array_unshift($arrDuilie, "four"); print_r($arrDuilie); echo '
'; // Array ( [0] => four [1] => three [2] => two [3] => one ) /** * array_shift() 将数组开头的单元移出数组(出队) */ echo '---------- array_shift() 出队 ----------
'; array_shift($arrDuilie); print_r($arrDuilie); echo '
'; // Array ( [0] => three [1] => two [2] => one ) echo array_shift($arrDuilie); // three echo '
'; print_r($arrDuilie); // Array ( [0] => two [1] => one ) echo '
'; /** * array_rand() 从数组中随机取出一个或多个单元(随机) */ echo '---------- array_rand() 随机 ----------
'; $arrZ = array("a", "b", "c", "d", "e"); var_dump(array_rand($arrZ)); // int(1) echo '
'; var_dump(array_rand($arrZ,3)); // array(3) { [0]=> int(0) [1]=> int(1) [2]=> int(3) } echo '
'; $randValue = array_rand($arrZ); $result = is_string($randValue); // 判断$randValue是不是字符串 var_dump($result); // bool(false) echo '
'; /** * shuffle() 将数组打乱 */ echo '---------- shuffle() 打乱 ----------
'; $arrZ = array("a", "b", "c", "d", "e"); shuffle($arrZ); print_r($arrZ); //Array ( [0] => c [1] => b [2] => d [3] => e [4] => a ) echo '
'; /** * array_sum() 计算数组中所有值的和(求和) */ echo '---------- array_sum() 求和 ----------
'; $arrH = array(1,2,3,4,5,6,7,8,9); echo array_sum($arrH); // 45 echo '
'; /** * range() 建立一个包含指定范围单元的数组 */ echo '---------- range() 求和 ----------
'; $arrR = range(0,10); print_r($arrR); // Array ( [0] => 0 [1] => 1 [2] => 2 [3] => 3 [4] => 4 [5] => 5 [6] => 6 [7] => 7 [8] => 8 [9] => 9 [10] => 10 ) echo '
'; $arrR = range(0,10,3); // 第三个参数表示步进(跳步) print_r($arrR); // Array ( [0] => 0 [1] => 3 [2] => 6 [3] => 9 ) echo '
'; /** * array_fill() 用给定的值填充数组 */ echo '---------- array_fill() 求和 ----------
'; $arrF = array_fill(0,5,"iwanghang"); print_r($arrF); // Array ( [0] => iwanghang [1] => iwanghang [2] => iwanghang [3] => iwanghang [4] => iwanghang ) echo '
';

 以上就是Android程序员学PHP开发(25)-数组操作相关函数(3)拆组排列篇-PhpStorm的内容,更多相关内容请关注PHP中文网(www.php.cn)!

相关专题

更多
php源码安装教程大全
php源码安装教程大全

本专题整合了php源码安装教程,阅读专题下面的文章了解更多详细内容。

129

2025.12.31

php网站源码教程大全
php网站源码教程大全

本专题整合了php网站源码相关教程,阅读专题下面的文章了解更多详细内容。

77

2025.12.31

视频文件格式
视频文件格式

本专题整合了视频文件格式相关内容,阅读专题下面的文章了解更多详细内容。

81

2025.12.31

不受国内限制的浏览器大全
不受国内限制的浏览器大全

想找真正自由、无限制的上网体验?本合集精选2025年最开放、隐私强、访问无阻的浏览器App,涵盖Tor、Brave、Via、X浏览器、Mullvad等高自由度工具。支持自定义搜索引擎、广告拦截、隐身模式及全球网站无障碍访问,部分更具备防追踪、去谷歌化、双内核切换等高级功能。无论日常浏览、隐私保护还是突破地域限制,总有一款适合你!

60

2025.12.31

出现404解决方法大全
出现404解决方法大全

本专题整合了404错误解决方法大全,阅读专题下面的文章了解更多详细内容。

444

2025.12.31

html5怎么播放视频
html5怎么播放视频

想让网页流畅播放视频?本合集详解HTML5视频播放核心方法!涵盖<video>标签基础用法、多格式兼容(MP4/WebM/OGV)、自定义播放控件、响应式适配及常见浏览器兼容问题解决方案。无需插件,纯前端实现高清视频嵌入,助你快速打造现代化网页视频体验。

15

2025.12.31

关闭win10系统自动更新教程大全
关闭win10系统自动更新教程大全

本专题整合了关闭win10系统自动更新教程大全,阅读专题下面的文章了解更多详细内容。

12

2025.12.31

阻止电脑自动安装软件教程
阻止电脑自动安装软件教程

本专题整合了阻止电脑自动安装软件教程,阅读专题下面的文章了解更多详细教程。

5

2025.12.31

html5怎么使用
html5怎么使用

想快速上手HTML5开发?本合集为你整理最实用的HTML5使用指南!涵盖HTML5基础语法、主流框架(如Bootstrap、Vue、React)集成方法,以及无需安装、直接在线编辑运行的平台推荐(如CodePen、JSFiddle)。无论你是新手还是进阶开发者,都能轻松掌握HTML5网页制作、响应式布局与交互功能开发,零配置开启高效前端编程之旅!

2

2025.12.31

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PHP课程
PHP课程

共137课时 | 8.2万人学习

JavaScript ES5基础线上课程教学
JavaScript ES5基础线上课程教学

共6课时 | 6.9万人学习

PHP新手语法线上课程教学
PHP新手语法线上课程教学

共13课时 | 0.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号