走近php的数组:数组的定义与数组函数

数组是一种数据结构,它由一组元素组成,这些元素可以是相同类型或不同类型。数组是在程序运行时动态创建的,可以根据需要增加或删除元素,因此它们是非常灵活和实用的数据结构。

在大多数编程语言中,数组都有一个索引,用于标识数组中的每个元素。索引可以是整数或字符串类型。例如,一个整数索引数组可以用于存储一组数字,而一个字符串索引数组可以用于存储一组名称或标签。

数组的一个重要特性是能够通过索引快速访问数组中的任何元素,这使得数组成为编程中非常有用的工具。可以使用数组来存储和操作各种数据,例如数字、字符串、对象等等。

php数组的定义

PHP是一种服务器端脚本语言,具有内置的数据类型和数据结构。其中最常用的数据类型之一是数组,它可以存储多个值,并使用索引或关联键来访问这些值。

PHP的数组有三种类型:数字索引数组、关联数组和多维数组。

1.数字索引数组:最常用的一种数组类型,其元素使用数字索引来访问,索引从0开始递增,可以包含任何类型的数据,如整数、字符串、对象等。可以使用array()函数或方括号[]创建一个数字索引数组。例如:

//使用array()函数创建数字索引组
$my_array = array("apple", "banana", "orange");
//使用方括号[]创建数字索引数组
$my_array = ["apple", "banana", "orange"];

2.关联数组:使用自定义的字符串键来访问其元素,每个键都与一个值相关联。关联数组常用于存储具有名称的数据,如数据库查询结果或表单数据。可以使用array()函数或方括号[]创建一个关联数组。例如:

//使用array()函数创建关联数组
$person = array("name" => "John", "age" => 30, "gender" => "male");
//使用方括号[]创建关联数组
$person = ["name" => "John", "age" => 30, "gender" => "male"];

3.多维数组:是指包含一个或多个子数组的数组。可以使用数组嵌套的方式创建多维数组,其中每个子数组可以是数字索引数组或关联数组。例如:

//创建一个包含两个子数组的多维数组
$my_array = [    ["apple", "banana", "orange"],
    ["name" => "John", "age" => 30, "gender" => "male"]
];

PHP的数组函数非常丰富,可以用于对数组进行排序、搜索、迭代等操作。例如,使用sort()函数可以对数组进行升序排序:

$my_array = [3, 1, 2];
sort($my_array);
print_r($my_array); //输出:Array ( [0] => 1 [1] => 2 [2] => 3 )

php的常用数组函数

1.array_push()

array_push() 函数将一个或多个元素添加到数组末尾。它的语法如下:

array_push(array, value1, value2, ...)

其中,array 是要添加元素的数组,value1, value2, ... 是要添加到数组末尾的一个或多个元素。下面是一个例子:

$fruits = array("apple", "banana");
array_push($fruits, "orange", "pear");
print_r($fruits);

这段代码会输出:

Array
(
    [0] => apple
    [1] => banana
    [2] => orange
    [3] => pear
)

2.array_pop()

array_pop() 函数从数组末尾弹出一个元素。它的语法如下:

array_pop(array)

其中,array 是要弹出元素的数组。下面是一个例子:

$fruits = array("apple", "banana", "orange", "pear");
$last_fruit = array_pop($fruits);
echo $last_fruit;

这段代码会输出:

pear

3.array_shift()

array_shift() 函数从数组开头移除一个元素。它的语法如下:

array_shift(array)

其中,array 是要移除元素的数组。下面是一个例子:

$fruits = array("apple", "banana", "orange", "pear");
$first_fruit = array_shift($fruits);
echo $first_fruit;

这段代码会输出:

apple

4.array_unshift()

array_unshift() 函数在数组开头添加一个或多个元素。它的语法如下:

array_unshift(array, value1, value2, ...)

其中,array 是要添加元素的数组,value1, value2, ... 是要添加到数组开头的一个或多个元素。下面是一个例子:

$fruits = array("apple", "banana");
array_unshift($fruits, "orange", "pear");
print_r($fruits);

这段代码会输出:

Array
(
    [0] => orange
    [1] => pear
    [2] => apple
    [3] => banana
)

5.array_slice()

array_slice() 函数从数组中返回指定长度的一段元素。它的语法如下:

array_slice(array, start, length)

其中,array 是要返回元素的数组,start 是起始位置,length 是要返回的元素数量。下面是一个例子:

$fruits = array("apple", "banana", "orange", "pear");
$subset = array_slice($fruits, 1, 2);
print_r($subset);

这段代码会输出:

Array
(
    [0] => banana
    [1] => orange
)

6.array_key_exists(): 检查数组中是否存在指定的键名,返回布尔值。

$arr = array('a' => 1, 'b' => 2, 'c' => 3);
if (array_key_exists('a', $arr)) {
    echo "The 'a' key exists in the array.";
}

7.array_unique():移除数组中的重复值。

$array = array(1, 2, 2, 3, 4, 4, 5); 
$unique_array = array_unique($array); // [1, 2, 3, 4, 5]

8.array_combine(): 将一个数组的值作为键名,另一个数组的值作为相应的值,返回一个新的关联数组。

$keys = array('a', 'b', 'c');
$values = array(1, 2, 3);
$arr = array_combine($keys, $values);
print_r($arr); // 输出:Array ( [a] => 1 [b] => 2 [c] => 3 )

9.array_walk(): 对数组中的每个元素应用用户自定义函数。

function myfunction($value, $key)
{
    echo "The key '$key' has the value '$value'.<br>";
}
$arr = array('a' => 1, 'b' => 2, 'c' => 3);
array_walk($arr, 'myfunction');

10.array_intersect(): 返回两个或多个数组中共同存在的元素,返回一个新的数组。

$arr1 = array('a' => 1, 'b' => 2, 'c' => 3);
$arr2 = array('b' => 2, 'c' => 4, 'd' => 5);
$arr = array_intersect($arr1, $arr2);
print_r($arr); // 输出:Array ( [b] => 2 [c] => 3 )

11.array_search(): 在数组中搜索给定的值,并返回对应的键名。如果没有找到,返回false。

$fruits = array("apple", "banana", "orange");
$key = array_search("banana", $fruits); // $key = 1

12.array_reverse(): 将数组中的元素顺序翻转,并返回一个新的数组。

$numbers = array(1, 2, 3, 4, 5);
$reversed = array_reverse($numbers); // $reversed = [5, 4, 3, 2, 1]

13.array_diff(): 比较两个或多个数组的差异,返回在第一个数组中但不在其他数组中的值。

$array1 = array("a", "b", "c", "d");
$array2 = array("a", "b", "e", "f");
$diff = array_diff($array1, $array2); // $diff = ["c", "d"]

14.array_intersect(): 比较两个或多个数组的交集,返回同时在所有数组中出现的值。

$array1 = array("a", "b", "c", "d");
$array2 = array("a", "b", "e", "f");
$intersect = array_intersect($array1, $array2); // $intersect = ["a", "b"]

15.array_merge(): 将多个数组合并成一个新数组。

$array1 = array("a", "b", "c");
$array2 = array("d", "e", "f");
$merged = array_merge($array1, $array2); // $merged = ["a", "b", "c", "d", "e", "f"]
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Evaporator Core

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值