几个PHP数组函数的理解

PHP中对数组进行排序的函数 根据你的需求,选择适合的函数来对数组进行排序,并根据你的排序需求选择合适的函数即可。排序数组是一种常见的操作,它允许我们按照特定的顺序重新排列数组的元素。它会修改原始数组,并根据值的大小重新排列数组。krsort()函数用于对关联数组按照键进行降序排序。它会修改原始数组,并根据键的大小重新排列数组。asort()函数用于对关联数组按照值进行升序排序。它会修改原始数组,并根据值的大小重新排列数组。ksort()函数用于对关联数组按照键进行升序排序。它会修改原始数组,并根据键的大小重新排列数组 阅读详情

array_reduce

(PHP 4 >= 4.0.5, PHP 5)

array_reduce用回调函数迭代地将数组简化为单一的值

说明

mixedarray_reduce ( array $input , callback $function [, int $initial ] )

array_reduce() 将回调函数function 迭代地作用到 input 数组中的每一个单元中,从而将数组简化为单一的值。如果指定了可选参数initial,该参数将被当成是数组中的第一个值来处理,或者如果数组为空的话就作为最终返回值。如果数组为空并且没有传递initial 参数,array_reduce() 返回NULL。 

通过例子来帮助理解:

<?php
// 求和
function rsum($v, $w)
{
    return $v;
}

// 求沉积
function rmul($v, $w)
{
    return $v;
}

$a = array(1, 2, 3, 4, 5);
$x = array();
$b = array_reduce($a, "rsum");
echo 'result:';
print_r($b);
echo '<br />';

// 以上输出15,相当于array_sum

$c = array_reduce($a, "rsum", 1);
echo 'result:';
print_r($c);
echo '<br />';

// 输出16,相当于array_sum 再加上1

$d = array_reduce($a, "rmul", 10);
echo 'result:';
print_r($d);
echo '<br />';
// 1200,相当于10 * 1 * 2 * 3 * 4 * 5

$d = array_reduce($a, "rmul");
echo 'result:';
print_r($d);
echo '<br />';
// 0,相当于 0 * 1 * 2 * 3 * 4 * 5

$d = array_reduce($x, "rsum", 1);
echo 'result:';
print_r($d);
// 输出1 由于$x为空,所以直接传回initial

?> 

array_chunk

(PHP 4 >= 4.2.0, PHP 5)

array_chunk 将一个数组分割成多个

说明

array array_chunk ( array$input , int$size [, bool$preserve_keys ] )

array_chunk() 将一个数组分割成多个数组,其中每个数组的单元数目由size 决定(即每个数组的元素为size)。最后一个数组的单元数目可能会少几个。得到的数组是一个多维数组中的单元,其索引从零开始。

将可选参数 preserve_keys 设为 TRUE,可以使 PHP 保留输入数组中原来的键名。如果你指定了 FALSE,那每个结果数组将用从零开始的新数字索引。默认值是FALSE。 

这个函数比较好理解,不多说。


array_flip

(PHP 4, PHP 5)

array_flip 交换数组中的键和值

说明

array array_flip ( array$trans )

array_flip() 返回一个反转后的array,例如 trans 中的键名变成了值,而trans 中的值成了键名。

注意 trans 中的值需要能够作为合法的键名,例如需要是integer 或者 string。如果值的类型不对将发出一个警告,并且有问题的键/值对将不会反转

如果同一个值出现了多次,则最后一个键名将作为它的值,所有其它的都丢失了。

array_flip() 如果失败返回FALSE。 

注意:连续调用两次可去重的哦!


array_filter

(PHP 4 >= 4.0.6, PHP 5)

array_filter 用回调函数过滤数组中的单元 

说明

array array_filter ( array$input [, callback$callback ] )

array_filter() 依次将input 数组中的每个值传递到 callback 函数。如果callback 函数返回 TRUE,则input 数组的当前值会被包含在返回的结果数组中。数组的键名保留不变。

Example #1 array_filter() 例子

<?php
function odd($var)
{
    return($var % 2 == 1);
}

function even($var)
{
    return($var % 2 == 0);
}

$array1 = array("a"=>1, "b"=>2, "c"=>3, "d"=>4, "e"=>5);
$array2 = array(6, 7, 8, 9, 10, 11, 12);

echo "Odd :\n";
print_r(array_filter($array1, "odd"));
echo "Even:\n";
print_r(array_filter($array2, "even"));
?> 

以上例程会输出:

Odd :
Array
(
    [a] => 1
    [c] => 3
    [e] => 5
)
Even:
Array
(
    [0] => 6
    [2] => 8
    [4] => 10
    [6] => 12
)

用户不应在回调函数中修改数组本身。例如增加/删除单元或者对 array_filter() 正在作用的数组进行 unset。如果数组改变了,此函数的行为没有定义。

如果没有提供 callback 函数,array_filter() 将删除input 中所有等值为 FALSE 的条目。更多信息见转换为布尔值。 

<?php

$entry = array(
             0 => 'foo',
             1 => false,
             2 => -1,
             3 => null,
             4 => ''
          );

print_r(array_filter($entry));
?> 
上例输出

Array
(
    [0] => foo
    [2] => -1
)


Android 16强制横竖屏设置 但开发者端的响应却相对滞后,特别是中小型开发团队受限于大屏设备市场渗透率(截至2023年Q2,Android平板全球激活量约1.2亿台,不足手机设备5%)及开发成本考量,适配优先级普遍偏低。这种适配滞后已形成恶性循环——开发者因设备基数不足降低适配意愿,而用户体验缺陷又反向抑制大屏设备的市场接受度。要破解这一困局,既需要Google持续优化Jetpack Compose等现代化UI工具链,更需要建立开发者激励体系,通过应用商店流量倾斜、开发补贴等经济手段提升适配投入产出比。再不肯好好适配大屏设备? 阅读详情

相关推荐

手把手教你学simulink(90.1)--直流电动机实例:基于Simulink的基本模型的直流电动机(DC Motor)建模

直流电动机(DC Motor)因其结构简单、控制方便和良好的调速性能,广泛应用于各种工业自动化、机器人技术、家用电器以及航空航天等领域。为了更好地理解和应用直流电动机的工作原理及其控制系统,本项目旨在通过Simulink对直流电动机进行基本模型的建模与仿真。

MHD0815的博客 404

PHP函数array_reduce()使用场景

函数通常用于对数组中的元素进行累积操作,以得到一个单一的值

q8688的博客 2439

基于-单片机的电子音乐门铃的设计.doc

基于-单片机的电子音乐门铃的设计.doc

PHP函数array_reduce

array_reduce使用回调函数处理一个数组中的每个元素 接受$input, $function,$initial三个参数 1. $input 必须 要被处理的数组 2. $function 必须 处理数组函数 3. $initial 可选,默认为null 作为结果的初始值 /** * Iteratively reduce the array to a single value using a callback function * @link https://php.ne...

mianhuatangVSyeyu的博客 989

PHP开发900个实用技巧】131.array_reduce(): 数组聚合的神奇力量!

### PHP数组聚合神器array_reduce深度解析摘要 PHP中`array_reduce()`是将数组元素迭代聚合为单一值或结构的终极工具,核心优势如下: 1. **基础聚合魔法**:用三行代码替代传统循环,如`array_reduce($prices, fn($c,$i)=>$c+$i, 0)`实现求和,且支持过滤、计算等复合操作。其核心机制是通过`$carry`传递聚合结果,初始值决定输出类型,使代码可读性提升300%。 2. **复杂结构处理**: - **二维数组降维

1044

通过array.reduce()实现数据汇总、条件筛选和映射、对象属性的扁平化、转换数据格式、聚合统计、处理树结构数据和性能优化,reduce()的使用详解(附实际应用代码)

array.reduce()可以用来数据汇总、条件筛选和映射、对象属性的扁平化、转换数据格式、聚合统计、处理树结构数据、性能优化等,使用难度相对高一些,但是能大大减少代码量。

RenGJ010617的博客 6260

array_reduce() 详细介绍

array_reduce($arr,function,initial) 这个函数的作用是用于迭代一个数组,并把数组里面的元素依次传入给自定义函数进行处理。并最终返回一个字符串。 所以试了下: $a=array(10,15,20); $result = array_reduce($a,function($v1,$v2){ print_r('$v1:'.$v1.'--'.'$v2:'.$v2); echo "<br/>"

xxs18326183038的博客 1147

php数组函数几个,几个PHP数组函数理解

array_reduce(PHP 4 >= 4.0.5, PHP 5)array_reduce —用回调函数迭代地将数组简化为单一的值说明array_reduce ( array $input , $function [, int $initial ] )array_reduce() 将回调函数function 迭代地作用到 input 数组中的每一个单元中,从而将数组简化为单一的值。如果指...

weixin_35743986的博客 187

php数组函数几个,对php几个数组函数理解

php几个数组函数理解,有需要的朋友可以参考下。一、array_reduce 函数(PHP 4 >= 4.0.5, PHP 5)array_reduce —用回调函数迭代地将数组简化为单一的值说明mixedarray_reduce ( array $input , callback $function [, int $initial ] )array_reduce() 将回调函数fun...

weixin_35861708的博客 144

php 数组从小到大排序,PHP 数组排序-php数组的排序函数

数组中的元素能够以字母或数字顺序进行升序或降序排序。PHP - 数组的排序函数在本节中,我们将学习如下 PHP 数组排序函数:sort() - 以升序对数组排序rsort() - 以降序对数组排序asort() - 根据值,以升序对关联数组进行排序ksort() - 根据键,以升序对关联数组进行排序arsort() - 根据值,以降序对关联数组进行排序krsort() - 根据键,以降序对关联数组...

weixin_32526561的博客 3368

php删除二维数组的某一行某一列_php中怎么去除二维数组的某个或某几个字段

php中怎么去除二维数组的某个或某几个字段php中怎么去除二维数组的某个或某几个字段?最直接的使用 foreach 当然可以搞定,这里介绍一个比较特殊的方法,算是对php数组的用法再加深一下吧。这里主要使用到了 array_walk 和 array_diff 两个函数。示例:$list = [0 => ['id' => 1001,'name' => '张三','sex' =&gt...

weixin_39714015的博客 2078

php 数组逆序排列函数’,PHP 数组排序

数组中的元素可以按字母或数字顺序进行降序或升序排列。PHP - 数组排序函数在本章中,我们将一一介绍下列 PHP 数组排序函数:sort() - 对数组进行升序排列rsort() - 对数组进行降序排列asort() - 根据关联数组的值,对数组进行升序排列ksort() - 根据关联数组的键,对数组进行升序排列arsort() - 根据关联数组的值,对数组进行降序排列krsort() - 根据关...

weixin_34345947的博客 299

php数组函数如何学习,跟我学习php数组常用函数-上篇

对于php的初学者,也许会对它大量的函数不清楚该学习哪些。我在这列举了一些大家实际当中可能会使用到的,供您参考array_map ( callable $callback , array $arr1 [, array $... ] )callback(回调函数),接受一个函数函数作用:将arr1的参数顺序的传递给前面的回调函数回调函数有参时:/*例1*/...

weixin_39638929的博客 101

php内置函数数组函数,PHP 数组排序内置函数

数组中的元素可以按字母或数字顺序进行降序或升序排列。PHP - 数组排序函数(底层利用快速排序法)sort() - 对数组进行升序排列rsort() - 对数组进行降序排列asort() - 根据关联数组的值,对数组进行升序排列ksort() - 根据关联数组的键,对数组进行升序排列arsort() - 根据关联数组的值,对数组进行降序排列krsort() - 根据关联数组的键,对数组进行降序排列...

weixin_39633455的博客 161

php重置指针,PHP数组指针函数 current,end,next,prev,reset,each

current() - 返回数组中的当前元素的值end() - 将内部指针指向数组中的最后一个元素,并输出next() - 将内部指针指向数组中的下一个元素,并输出prev() - 将内部指针指向数组中的上一个元素,并输出reset() - 将内部指针指向数组中的第一个元素,并输出each() - 返回当前元素的键名和键值,并将内部指针向前移动示例:演示所有相关的方法$people = array...

weixin_28788777的博客 440

PHP array_reduce的用法

一开始对array_reduce方法不太明白,然后换了一种实现发现好理解很多,就比如下面实现的这个 custom_array_reduce函数,其实跟 array_reduce方法实现的结果是一样的 $arr = [1, 2, 3]; function custom_array_reduce($arr, callable $callback, $init = null) { $ret =...

不主动,不拒绝,不负责 2618

PHP array_reduce()

array_reduce array_reduce()将回调函数callback迭代地作用到array数组中的每一个单元中,从而将数组简化为单一的值。 示例一: public function arrayReduce() { $data = [ ['a' => '10', 'b' => '30'], ['a' => '20', 'b' => '60'], ['a' => '30', 'b' =&g...

幽篁晓筑的博客 434

array_flip_PHP array_flip()函数与示例

array_flip PHP array_filter()函数 (PHP array_filter() Function) array_flip() function is used to flip the array keys and values, it returns an array by flipping all values as keys and all keys as values...

cumt30111的博客 628

array_reduce的用法

array_reduce的理解 最近在看IOC容器的时候看到这个函数,查了很多资料才把他搞明白,在这里记录一下。 array_reduce ( array $array , callable $callback , mixed $initial = null ) : mixed array_reduce() 将回调函数 callback 迭代地作用到 array 数组中的每一个单元中,从而将数组简化为单一的值。 这里不是很好理解,举个简单的例子: <?php function f($v1, $v2)

yixin_suozhang的博客 1015

PHP中的array_reduce()函数

定义和用法 array_reduce() 函数发送数组中的值到用户自定义函数,并返回一个字符串。 注释:如果数组是空的或者初始值未传递,该函数返回 NULL。 语法 array_reduce(array,myfunction,initial) 参数 描述 array 必需。规定数组。 myfunction 必需。规定函数的名称。 initial 可选。规定发送到函数处理的第一个值。 ...

casey的博客 241

php array_reduce

array_reduce — 用回调函数迭代地将数组简化为单一的值 mixed array_reduce ( array $input , callback $function [, int $initial ] ) array_reduce() 将回调函数 function 迭代地作用到 input 数组中的每一个单元中,从而将数组简化为单一的值。如果指定了可

ling811的专栏 938
上一篇: MySQL性能优化的最佳21条经验
下一篇: 字符、字节与位的名字解释
fwkjdaghappy1
博客等级 码龄18年 38粉丝 68原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值