php 数组操作(增加,删除,查询,排序)等函数说明第1/2页

yipeiwu_com5年前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 键:
复制代码 代码如下:

<?php
$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 键:
复制代码 代码如下:

<?php
$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?

相关文章

php中将一段数据存到一个txt文件中并显示其内容

这里的数据可以为基本数据类型,数组,对象等; 在存储的时候可以用serialize进行序列化,但取的时候要先用unserialize反序列化。 <?php $dat...

PHP获取表单数据与HTML嵌入PHP脚本的实现

 php接受通过HTML表单提交的信息时,会将提交的数据保存在全局数组中,我们可以调用系统特定的自动全局变量数组来获取这些值。 常用的自动全局变量如下所示: 1、GET方式...

php自定文件保存session的方法

本文实例讲述了php自定文件保存session的方法。分享给大家供大家参考。具体实现方法如下: session.inc.php文件:定义session的文件存储,session解决方案,...

一个简洁的PHP可逆加密函数(分享)

很多时候我们需要对数据进行加密解密,比如有些数据需要保存到cookie中,但又不能被用户轻易得到这些数据,这时我们就需要加密这些数据保存到cookie中,等我们需要使用它们的时候再解密。...

php cookie 作用范围–不要在当前页面使用你的cookie

因为在本地测试完全没有问题,所以ssh到远程服务器上(不是发布服务器,建议不要直接在Publish Server上直接改东西),进行了一下断点的测试,最后发现是一个比较复杂的逻辑中有个函...