首页 后端开发 php教程 PHP 数组学习排序全接触第1/2页_PHP教程

PHP 数组学习排序全接触第1/2页_PHP教程

Jul 21, 2016 pm 03:44 PM
arr array php 代码 元素 复制 学习 排序 数组 返回

array_values($arr) array
返回数组所有元素

复制代码 代码如下:

$arr = array("a", "b", "c");
$arr = array_flip($arr); //反转数组的下标和值现在的$arr = array(0, 1, 2);
$arr = array_values($arr); //返回数组$arr中的所有元素
print_r($arr); //结果: array(0, 1, 2);
?>


array_walk($arr, $func, [$data]) bool
使用用户自定义的函数遍历所有的元素,返回true/false
注意:此函数只处理数组的第一维
$func是一个函数名
默认会传入两个参数 第一个 $arr的值, 第二个$arr的下标, 一对一对的传哦
复制代码 代码如下:
$arr = array('a', 'b', 'c');
array_walk($arr, 'test'); //这里第二个参数test就是函数名
function test(&$val, $key) //这里第一个参数加上引用, 那么修改$val就等于修改$arr中的元素
{
$val = 'x_' . $val; //这里给他加一个前缀
}
print_r($arr); //输出结果 array('x_a', 'x_b', 'x_c');
//这里如果把$arr改成 $arr = array('a', 'b', 'c', array(1, 2, 3)); 打印结果将是 array('x_a', 'x_b', 'x_c', 'x_Array');
?>

现在传入第三那个参数$data, 如果有传入第三个参数,那么第三个参数将传给第二个参数定义的函数当中的第三个参数
复制代码 代码如下:

array_walk($arr, 'test', 'x_');
function test(&$val, $key, $prefix)
{
$val = $prefix . $val; //其实这里的$prefix就是上面的x_
}
print_r($arr); //输出结果和上面一样 array('x_a', 'x_b', 'x_c');
?>


arsort($arr) bool
对数组$arr进行倒序排列并保留下标和值的关系,如果排序成功返回true 否则返回 false
此函数只处理数组的第一维
复制代码 代码如下:

$arr = array('a' => 'a', 'b' => 'b', 'c' => 'c');
arsort($arr);
print_r($arr); //打印结果: array('c' => 'c', 'b' => 'b', 'a' => 'a'); 如果有数字那么数字会在字符前面
?>

asort($arr) bool
对数组$arr进行正序排列也就是a-z这样排列, 返回值和上面一样
此函数也保留下标和值的关系
复制代码 代码如下:

$arr = array('a' => 'a', 'b' => 'b', 'c' => 'c');
asort($arr);
print_r($arr); //结果没变, 就是原那数组
$arr = array('c' => 'c', 'b' => 'b', 'a' => 'a');
asort($arr);
print_r($arr); //结果:array('a' => 'a', 'b' => 'b', 'c' => 'c');
?>

compact($varname, ...., $varname) array
接受n个$varname并将$varname当做下标$varname的值当做值创建一个数组$varname可以为数组
解释不清楚, 看例子
复制代码 代码如下:

$a = "变量a";
$b = "变量b";
$arr = compact('a', 'b'); //这里传入 a b 分别为上面定义的变量名称
print_r($arr); //打印结果为 array('a' => '变量a', 'b' => '变量b');
//还可以把变量名称当做数组传入
$vars = array('a', 'b');
$arr = compact($vars);
print_r($arr); //结果和上面一样, 其实这个函数就是做extract的相反操作
?>

extract($arr, $type, $prefix) int
将数组$arr的下标当做变量名, 值当做变量的值
$arr 目标数组
$type 这个是遇过遇到相同下标使用什么方式处理, 值是PHP已经定义了的常量
EXTR_OVERWRITE 如果相同, 那么就覆盖前面的那个变量, 默认就是这个
EXTR_SKIP 如果相同, 不覆盖前面那个变量
EXTR_PREFIX_SAME 如果相同, 那么使用第三个参数$prefix加到变量名前
EXTR_PREFIX_ALL 把所有变量名称都加上$prefix当做前缀
注意在$type为EXTR_PREFIX_SAME或EXTR_PREFIX_ALL时才需要传入参数$prefix, 不然传了也没用。。。
例子
复制代码 代码如下:

$arr = array('a' => '变量a', 'b' => '变量b');
extract($arr, EXTR_OVERWRITE); //如果有相同,那么覆盖
echo $a; //输出结果将是 '变量a'
echo $b; //结果: '变量b'
$arr = array('a' => '变量a', 'b' => '变量b', 'a' => '第二个变量a'); //这里有两个元素下标都为a
extract($arr);
echo $a; //输出结果是: '第二个变量a' 很明显已经覆盖了 '变量a' 因为默认第二个参数是 EXTR_OVERWRITE
?>


count($arr) int
统计数组中的元素的数目
复制代码 代码如下:

$arr = array('a', 'b');
echo count($arr); //很明显结果为2
?>

current($arr) mixed
返回数组中当前指针所指的元素,此函数别名 pos
复制代码 代码如下:

$arr = array('a', 'b', 'c');
echo current($arr); //结果为 'a'
echo next($arr); //指针向下一个移动,所以现在指针所指的是b 输出结果当然为 'b'
echo current($arr); //结果又是b 因为当前指针就在b这哦
echo end($arr) //指针移动到数组最后, 并返回结果, 所以结果为c
echo prev($arr); //指针向上一个移动, 结果b
echo key($arr); //返回指针所指元素的下标 因为上面指针到了b那么所有 结果为1 因为b的下标就是1
echo reset($arr); //重置指针都数组开头 结果a
?>

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/320418.htmlTechArticlearray_values($arr) array 返回数组所有元素 复制代码 代码如下: ?php $arr = array("a", "b", "c"); $arr = array_flip($arr); //反转数组的下标和值现在的$arr =...
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

适用于 Ubuntu 和 Debian 的 PHP 8.4 安装和升级指南 适用于 Ubuntu 和 Debian 的 PHP 8.4 安装和升级指南 Dec 24, 2024 pm 04:42 PM

PHP 8.4 带来了多项新功能、安全性改进和性能改进,同时弃用和删除了大量功能。 本指南介绍了如何在 Ubuntu、Debian 或其衍生版本上安装 PHP 8.4 或升级到 PHP 8.4

CakePHP 日期和时间 CakePHP 日期和时间 Sep 10, 2024 pm 05:27 PM

为了在 cakephp4 中处理日期和时间,我们将使用可用的 FrozenTime 类。

CakePHP 文件上传 CakePHP 文件上传 Sep 10, 2024 pm 05:27 PM

为了进行文件上传,我们将使用表单助手。这是文件上传的示例。

讨论 CakePHP 讨论 CakePHP Sep 10, 2024 pm 05:28 PM

CakePHP 是 PHP 的开源框架。它的目的是使应用程序的开发、部署和维护变得更加容易。 CakePHP 基于类似 MVC 的架构,功能强大且易于掌握。模型、视图和控制器 gu

CakePHP 创建验证器 CakePHP 创建验证器 Sep 10, 2024 pm 05:26 PM

可以通过在控制器中添加以下两行来创建验证器。

CakePHP 日志记录 CakePHP 日志记录 Sep 10, 2024 pm 05:26 PM

登录 CakePHP 是一项非常简单的任务。您只需使用一项功能即可。您可以记录任何后台进程(如 cronjob)的错误、异常、用户活动、用户采取的操作。在 CakePHP 中记录数据很容易。提供了 log() 函数

如何设置 Visual Studio Code (VS Code) 进行 PHP 开发 如何设置 Visual Studio Code (VS Code) 进行 PHP 开发 Dec 20, 2024 am 11:31 AM

Visual Studio Code,也称为 VS Code,是一个免费的源代码编辑器 - 或集成开发环境 (IDE) - 可用于所有主要操作系统。 VS Code 拥有针对多种编程语言的大量扩展,可以轻松编写

CakePHP 服务 CakePHP 服务 Sep 10, 2024 pm 05:26 PM

本章介绍有关 CakePHP 中可用的身份验证过程的信息。

See all articles