搜尋
首頁php教程php手册PHP学习笔记之数组值及数组遍历和排序

PHP学习笔记之数组值及数组遍历和排序

Jun 13, 2016 am 10:17 AM
php介紹入門學習實例排序陣列文章筆記簡單遍歷

本文章来给大家介绍一篇简单的php入门实例,这里主要是讲述了php数组值的操作及函数以及数组遍历与数组排序的实例,各位同学可进入参考。

数组值的操作

1. 值的析取
PHP中,用list来析取数组中的值,如list($a, $b) = $array。如果list中的值多于数组个数,list中多余的值会设为NULL。也可以用逗号来跳过数组中的值,如list($a, ,$b) = $array。

2.划分数组
如果想取得子数组,可以用array_slice(array, offset, length);来取得。它返回一个新的下标从0开始的数组。如果原数组的下标是字符串,好像是没有什么意义的,最好不要用,可以用array_splice来取得子串。

3.将数组分为多个数组
用array_chunk可以把数组分成一个二维数组。详细的可以通过链接看官方的说明。

4.键和值
array_keys($array),取得由数组索引组成的数组
array_value($array),取得由数组值组成的数组,索引从0开始重新分配。
array_key_exists($key, array),元素是否存在检查。
array_splice, 删除插入元素。

5.数组和变量之间的转换
extract(array) 把数组变成变量
compact() 把变量变成数组

6.数组的查找
in_array(array, ) 返回元素是否在数组中存在。
array_search() 返回被找到元素的索引。

7.整个数组函数
array_ sum() 计算数组的和。
array_ merge() 合并两个数组。
array_ diff() 两个数组之间的不同值。
array_ filter() 过滤元素

8.集合、堆栈、队列
array_ unique() 取两个数组的合集,如果值相同,保留前一个数组的索引。
array_ intersect() 取两个数级的交集,保留第一个数组的索引。
array_ push() 加入堆栈。
array_ pop() 弹出堆栈。
array_ shift() 加入队列。
array_ unshift() 弹出队列。


1.简单的遍历
PHP中,数组最简单的遍历方法莫过于for和foreach了。其中foreach有两种写法,一种只遍历值、另一种遍历索引和值。具体可以看如下代码。

 代码如下 复制代码
$test01 = array('a', 'b', 'c');
// for
for ($i = 0; $i < count($test01); $i++) {
echo $test01[$i];
}
// foreach value only
foreach ($test01 as $value) {
echo $value;
}
// foreach key and value
$test01 = array('a' => 'aaaa', 'b' => 'bbbb', 'c' => 'cccc');
foreach ($test01 as $key => $value) {
    echo "$key => $value";
}

2.迭代器遍历
PHP中,迭代遍历主要要用到以下函数。
current() 迭代的当前元素。
reset() 重新移动到第一个元素并返回它。
next() 移动到下一个元素并返回它。
prev() 移动到上一个元素并返回它。
end() 移动到最后一个元素并返回它。
each() 以数组的形式返回当前元素的索引和值,并移动到下一个迭代。
key() 返回当前的索引。
array_ walk() 为每一个元素调用函数。
array_ reduce() 为每一个元素依次计算。

 代码如下 复制代码


$test01 = array('a' => 'aaaa', 'b' => 'bbbb', 'c' => 'cccc');
while (list($key, $value) = each($test01)) {
    echo "$key => $value" . "n";
}
array_walk($test01, walk_test);
function walk_test($key, $value) {
    echo "walk: $key => $value" . "n";
}

$test02 = array(1, 2, 3, 4, 5);
echo array_reduce($test02, reduce_test);
function reduce_test($run_result, $current_value) {
    return $run_result + $current_value * $current_value;
}


3.数组的排序


在PHP中,排序方式有三种,通过索引排序、通过值排序(不保留原索引)、通过值排序(保留原索引)。每种又分为升序、降序以及用户定义顺序三个函数。它们分别如下:
通过索引排序:①升序 ksort() ②降序 krsort() ③用户定义顺序 uksort()
不保留原索引值排序:①升序 sort() ②降序 rsort() ③用户定义顺序 usort()
保留原索引值排序:①升序 asort() ②降序 arsort() ③用户定义顺序 uasort()
在PHP中,也可以用array_multisort来一次排序多个数组,不过项目中可能用得比较少。
翻转数组,把数字索引翻转,索引重新从0开始:array_reverse()
把索引和值调换:array_flip()
随机顺序:shuffle()

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡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脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )專業的PHP整合開發工具

SecLists

SecLists

SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境