php的数组操作,PHP的数组操作
1. 初始化
1.1 array()枚举成员
$products = array('Tires', 'Oil', 'Spark Plugs');
$prices = array('Tires' => 12, 'Oil' => 7.5, 'Spark Plugs' => 32);
1.2 range()生成
range(start, end, step = 1)
$odds = range(1, 10, 2);
$letters = range('a', 'z');
2. 访问元素
echo $products[2];
$products[8] = 'Yes';
数组的Key不必是连续的。它更像是个 Key --> Value 的映射表。
3. 循环访问
可以用 foreach 与 list() 和 each() 结构。
foreach ($prices as $key => $value) {
echo $key . ' - ' . $value . '
';
}
while ($element = each($prices)) {
echo $element['key'];
echo ' - ';
echo $element['value'];
echo '
';
}
while (list($product, $price) = each($prices)) {
$echo "$product - $price
";
}
其实在数组中一个pos迭代器,初始为第一个元素。
每次each($prices) 时都会返回当前pos所指向的数组元素,并将pos指向下一个元素位置。
如果已经访问到最后一个元素了,那么 each($prices) 返回空值,于是while() 循环退出。
在每次开始循环前应使用 reset($prices), 将数组中的pos置为第一个元素的位置。
4. PHP数组支持嵌套数组实现多维数组
$products = array (
array('TIR', 'Tires', 100),
array('OIL', 'Oil', 10),
array('SPK', 'Spark Plugs', 4)
);
5. 数组排序
5.1 sort()函数
sort(array, method=SORT_REGULAR)。
array为需要排序的数组,method为排序方法,默认为SORT_REGULAR,还可以是SORT_NUMERIC与SORT_STRING,表示是按数值排序还是字符串大小进行排序。
sort() 函数会影响转入的数组。
5.2 asort()与ksort()函数
asort()是按数组值进行排序,ksort()是按数组Key进行排序。
5.3 反向排序
以此对应的反向排序有 rsort(), arsort(), krsort()
5.4 自定义排序 usort()
usort(数组, 比较函数)
6. 数组其它操作
6.1 each(), current(), reset(), end(), next(), pos(), prev()
each()与next()功能相似,each()是返回pos相前元素,然后将pos移向下一个元素。而next()则是先移到下一个元素移置,再返回pos所指的元素。
current()则返回当前pos所指的元素。
reset()将pos重置到第一个元素,而end()则是将pos指向最后一个元素。
prev()可以与end()配合使用,就像next()与reset()那样。
6.2 数组遍历 array_walk()
bool array_walk(array arr, string func, [mixed userdata])
function my_print($value) {
echo "$value
";
}
array_walk($array, 'my_print');
??为什么回调函数传的是字符串??
6.3 统计元素
count(), sizeof(), array_count_values()
count(), sizeof() 都是返回数组元素个数
array_count_values() 是统一数组成元素的重复次数,并生成以元素为key,重复次数为value的新数组。
6.4 将数组转换成变量
extract(array var_array [, int extract_type] [, string prefix]);
$arr = array('VAR1' => 12, 'Name' = "Hevake");
extract($arry);
echo "$VAR1, $Name";
php的数组操作,PHP的数组操作相关推荐
- LeetCode简单题之最小操作次数使数组元素相等
题目 给你一个长度为 n 的整数数组,每次操作将会使 n - 1 个元素增加 1 .返回让数组所有元素相等的最小操作次数. 示例 1: 输入:nums = [1,2,3] 输出:3 解释: 只需要3次 ...
- 一道题,最小操作次数使数组元素相等引发的思考
前言 最近在打卡力扣刷题,一道简单题但是感觉挺好的. 力扣453:最小操作数使数组相等. 题目描述为: 给你一个长度为 n 的整数数组,每次操作将会使 n - 1 个元素增加 1 .返回让数组所有元素 ...
- java 数组参数_java中 数组可以作为形式参数传递到调用的方法中吗?要怎么操作?...
展开全部 可以,操作代码如下: public class ArrTest{ public static void doTest(String[] args){ for(int i=0;i System ...
- jquery 操作字符串、数组、对象常用方法
http://jquery.cuishifeng.cn/ 1.$.trim(str) 去掉字符串首尾空格.(jQuery.trim()) 在jquery中,遍历对象和数组,经常会用到$().each ...
- B10_NumPy数组操作、修改数组形状、翻转数组、修改数组维度、连接数组、分割数组、数组元素的添加与删除
NumPy数组操作 Numpy 中包含了一些函数用于处理数组,大概可分为以下几类: 修改数组形状 翻转数组 修改数组维度 连接数组 分割数组 数组元素的添加与删除 修改数组形状 函数 描述 resha ...
- java web定义数组_Java基础之数组--数组常用操作
3.2一维数组 3.2.1声明数组 数组类型[] 数组名称:int[] username; 或者 数组类型 数组名称[];int username[]; 3.2.2初始化一维数组 一维数组初始化有两种 ...
- Scala数组的基本操作,数组进阶操作,多维数组
1.Scala中提供了一种数据结构-数组,其中存储相同类型的元素的固定大小的连续集合.数组用于存储数据的集合,但它往往是更加有用认为数组作为相同类型的变量的集合 2 声明数组变量: 要使用的程序的数组 ...
- 链表!比数组更适合做增删操作的数据结构
什么是链表? 链表和数组的对比:在大多数语言中,数组的大小是固定的,从数组的起点或中间添加或删除元素的成本很高,因为需要移动元素. 链表中的每一个元素在内存中不是连续放置的,和它左右两侧元素是没有关系 ...
- leetcode453. 最小操作次数使数组元素相等(贼难的简单题)
给定一个长度为 n 的 非空 整数数组,每次操作将会使 n - 1 个元素增加 1.找出让数组所有元素相等的最小操作次数. 示例: 输入: [1,2,3] 输出: 3 解释: 只需要3次操作(注意每次 ...
- 通过数组和枚举简化GPIO操作编码
在工作中,经常遇到大量使用GPIO作为数字量输入输出来控制设备或采集状态,每次定义操作不同的GPIO针脚既麻烦又容易出错,于是就想要简化操作过程.对于数字量输入来说就是采集对应针脚的状态:而输出 ...
最新文章
- [unreal4入门系列之十二] 在UE4中创建非玩家角色(NPC)
- python魔法方法好难_一篇干货好文,轻松掌握python魔法方法
- .NET MVC访问某方法后会跳转页面
- 工业互联网解决方案创新应用报告(2020)
- Auto Control 001 自动控制的一般概念
- Vivado设计流程(一)新建工程
- sympy 求微分方程_Sympy笔记一
- 百度知心搜索–基于深度数据瓦解和用户行为分析的搜索引擎
- 计算机开机慢的原因及解决方法,电脑启动慢什么原因?如何解决
- jquery解绑、绑定笔记
- 为什么小样本不建议用深度学习?
- 九连环的解法(收集)
- 华为-交换机堆叠配置
- 2022.05.20-电脑切换全屏与非全屏(特别是谷歌浏览器)的时候会发生卡顿黑屏
- can-utils使用
- Writing an LLVM Pass
- MySQL官方示例数据库的使用
- 机器人学习笔记(一)
- BP 神经网络的数据分类
- CSS制作鼠标移上去,三角形(箭头)旋转