首頁 後端開發 php教程 php 数组操作(增加,删除,查询,排序)等函数说明_PHP

php 数组操作(增加,删除,查询,排序)等函数说明_PHP

Jun 01, 2016 pm 12:18 PM
php 陣列

数据增加,删除,查询,排序详细说明

对数组的添加(首尾数据添加(不限定条数)以及中间任意位置添加数据操作) .
2~对数组的删除(首尾的数据删除(不限定条数)以及中间任意位置的数据删除操作,条件:对数组中间位置删除的,后面的值往前挪,接上以前的位置) .
3~对数据的排序操作(排序操作,要的是效率) .
4~对数组的查询(对数组中的某一数据进行查询,如果满足,则生成新的数组,这个新的数组就是满足查询条件的,条件:查询,并不是查询某一个值,还有查询某一个值满足某个条件,举个例子:查询数组中某个值大于5的,全部筛选出来)


1、php中的数组实质上是map结构,对于索引数组,添加或删除元素,它并不重新索引。
2、避免混合索引数组和关联数组
其余的要求,查找php手册应该有答案。
说实话,我一直记不住那么多函数。
3。默认的冒泡排序,堆排序,快速排序,插入排序,二分。看你的需求情况了
4.还是循环。

PHP数组虽然强大,但效率也很低


2 数组的删除,以字符串为索引的,直接删除就OK。unset
以数字为索引的,unset删除,然后使用array_values重置数组。
3 usort排序,可以利用callback函数自己来实现算法。效率主要看你写的算法如何。


1~对数组的添加(首尾数据添加(不限定条数)以及中间任意位置添加数据操作) .
arrar_unshift(数组头部添加数据)
array_push(数组尾部添加数组)
arrar_fill(中间任意位置添加)
2~对数组的删除(首尾的数据删除(不限定条数)以及中间任意位置的数据删除操作,条件:对数组中间位置删除的,后面的值往前挪,接上以前的位置) .
array_shift(数组头部删除数据)
array_pop(数组为不删除数据)

array_slice不会对原始数组造成任何修改,我是想说array_splice。
刚才又查了下手册,发现array_splice功能好强大,对数组的任何位置的任何个数的增删改操作,都可以用array_splice搞定。
关于非哈希数组重建数字索引的问题,array_merge和array_values都可以,刚才经过试验,后者更快

什么是数组?
在使用 PHP 进行开发的过程中,或早或晚,您会需要创建许多相似的变量。

无需很多相似的变量,你可以把数据作为元素存储在数组中。

数组中的元素都有自己的 ID,因此可以方便地访问它们。

有三种数组类型:
数值数组
带有数字 ID 键的数组
关联数组
数组中的每个 ID 键关联一个值
多维数组
包含一个或多个数组的数组 数值数组
数值数组存储的每个元素都带有一个数字 ID 键。

可以使用不同的方法来创建数值数组:

例子 1
在这个例子中,会自动分配 ID 键:

$names = array("Peter","Quagmire","Joe");

例子 2
在这个例子中,我们人工分配的 ID 键:

$names[0] = "Peter";
$names[1] = "Quagmire";
$names[2] = "Joe";

可以在脚本中使用这些 ID 键:
复制代码 代码如下:
$names[0] = "Peter";
$names[1] = "Quagmire";
$names[2] = "Joe";
echo $names[1] . " and " . $names[2] . " are ". $names[0] . "'s neighbors";
?>

以上代码的输出:
Quagmire and Joe are Peter's neighbors

关联数组
关联数组,它的每个 ID 键都关联一个值。

在存储有关具体命名的值的数据时,使用数值数组不是最好的做法。

通过关联数组,我们可以把值作为键,并向它们赋值。

例子 1
在本例中,我们使用一个数组把年龄分配给不同的人:
复制代码 代码如下:
$ages = array("Peter"=>32, "Quagmire"=>30, "Joe"=>34);

例子 2
本例与例子 1 相同,不过展示了另一种创建数组的方法:
复制代码 代码如下:
$ages['Peter'] = "32";
$ages['Quagmire'] = "30";
$ages['Joe'] = "34";

可以在脚本中使用 ID 键:
复制代码 代码如下:
$ages['Peter'] = "32";
$ages['Quagmire'] = "30";
$ages['Joe'] = "34";

echo "Peter is " . $ages['Peter'] . " years old.";
?>

以上脚本的输出:

Peter is 32 years old.

多维数组
在多维数组中,主数组中的每个元素也是一个数组。在子数组中的每个元素也可以是数组,以此类推。

例子 1
在本例中,我们创建了一个带有自动分配的 ID 键的多维数组:
复制代码 代码如下:
$families = array
(
"Griffin"=>array
(
"Peter",
"Lois",
"Megan"
),
"Quagmire"=>array
(
"Glenn"
),
"Brown"=>array
(
"Cleveland",
"Loretta",
"Junior"
)
);

如果输出这个数组的话,应该类似这样:
复制代码 代码如下:
Array
(
[Griffin] => Array
(
[0] => Peter
[1] => Lois
[2] => Megan
)
[Quagmire] => Array
(
[0] => Glenn
)
[Brown] => Array
(
[0] => Cleveland
[1] => Loretta
[2] => Junior
)
)


例子 2
让我们试着显示上面的数组中的一个单一的值:

echo "Is " . $families['Griffin'][2] . " a part of the Griffin family?";
以上代码的输出:
Is Megan a part of the Griffin family?

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡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.能量晶體解釋及其做什麼(黃色晶體)
2 週前 By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
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

適用於 Ubuntu 和 Debian 的 PHP 8.4 安裝和升級指南

CakePHP 專案配置 CakePHP 專案配置 Sep 10, 2024 pm 05:25 PM

CakePHP 專案配置

CakePHP 日期和時間 CakePHP 日期和時間 Sep 10, 2024 pm 05:27 PM

CakePHP 日期和時間

CakePHP 檔案上傳 CakePHP 檔案上傳 Sep 10, 2024 pm 05:27 PM

CakePHP 檔案上傳

CakePHP 路由 CakePHP 路由 Sep 10, 2024 pm 05:25 PM

CakePHP 路由

討論 CakePHP 討論 CakePHP Sep 10, 2024 pm 05:28 PM

討論 CakePHP

如何設定 Visual Studio Code (VS Code) 進行 PHP 開發 如何設定 Visual Studio Code (VS Code) 進行 PHP 開發 Dec 20, 2024 am 11:31 AM

如何設定 Visual Studio Code (VS Code) 進行 PHP 開發

CakePHP 快速指南 CakePHP 快速指南 Sep 10, 2024 pm 05:27 PM

CakePHP 快速指南

See all articles