本文为PHP基础入门文章,主要讲涉及数组操作的四个函数,欢迎各位师傅加群进行技术交流~
前言
本文为PHP基础入门文章,主要讲涉及数组操作的四个函数。
array_push
array_push
是 PHP 中的一个函数,用于将一个或多个元素压入数组的末尾(入栈)。此函数会返回数组的新长度。以下是它的基本用法和一些示例:
基本语法
int array_push(array &$array, mixed ...$values)
•$array
:要添加元素的数组。•...$values
:要添加到数组末尾的一个或多个值。
示例
以下是一些使用 array_push
的示例:
示例 1:向数组添加单个元素
<?php
$stack = array("apple", "banana");
array_push($stack, "cherry");
print_r($stack);
?>
输出:
Array
(
[0] => apple
[1] => banana
[2] => cherry
)
示例 2:向数组添加多个元素
<?php
$stack = array("apple", "banana");
array_push($stack, "cherry", "date", "elderberry");
print_r($stack);
?>
输出:
Array
(
[0] => apple
[1] => banana
[2] => cherry
[3] => date
[4] => elderberry
)
示例 3:使用 array_push
返回值
<?php
$stack = array("apple", "banana");
$new_length = array_push($stack, "cherry");
echo "The new length of the array is: " . $new_length;
?>
输出:
The new length of the array is: 3
注意事项
1.array_push
函数会修改原数组,并返回数组的新长度。2.虽然 array_push
可以用于向数组添加多个元素,但如果只添加一个元素,使用数组的方括号语法($array[] = $value;
)通常更简洁:
$stack = array("apple", "banana");
$stack[] = "cherry";
print_r($stack);
使用场景
array_push
通常用于需要动态地向数组末尾添加元素的场景,例如处理堆栈数据结构或累积数据。
array_pop
PHP 中有 array_pop
函数,它用于将数组的最后一个元素弹出(即从数组末尾移除并返回该元素)。使用此函数时,数组的长度会减少一个。
基本语法
mixed array_pop(array &$array)
•$array
:输入数组,必须是通过引用传递的(即数组本身会被修改)。•返回值:数组的最后一个元素。如果数组为空,则返回 NULL
。
示例
示例 1:弹出最后一个元素
$stack = array("apple", "banana", "cherry");
$fruit = array_pop($stack);
echo $fruit; // 输出: cherry
print_r($stack); // 输出: Array ( [0] => apple [1] => banana )
示例 2:连续弹出多个元素
$stack = array("apple", "banana", "cherry");
$last_fruit = array_pop($stack); // cherry
$second_last_fruit = array_pop($stack); // banana
echo $last_fruit; // 输出: cherry
echo $second_last_fruit; // 输出: banana
print_r($stack); // 输出: Array ( [0] => apple )
示例 3:处理空数组
$empty_array = array();
$element = array_pop($empty_array);
var_dump($element); // 输出: NULL
print_r($empty_array); // 输出: Array ( )
注意事项
1.修改原数组:array_pop
会直接修改传入的数组,移除其最后一个元素。2.返回值:返回被移除的元素。如果数组为空,则返回 NULL
。3.效率:对于大的数组,频繁使用 array_pop
可能会有性能影响,因为每次操作都需要修改数组的内部结构。
array_pop
用于从数组的末尾移除并返回元素,特别适用于栈(LIFO - 后进先出)的操作场景。
array_map
array_map
函数
array_map
函数将回调函数作用到给定数组的每个元素,并返回一个包含所有回调函数返回值的数组。
基本语法
array array_map(callable $callback, array $array1, array ...$arrays)
•$callback
:要应用到数组每个元素的回调函数。•$array1
:要处理的第一个数组。•...$arrays
:可选。要处理的其他数组。
示例
1.将数组元素转换为大写
$input = array("apple", "banana", "cherry");
$output = array_map('strtoupper', $input);
print_r($output);
输出:
Array
(
[0] => APPLE
[1] => BANANA
[2] => CHERRY
)
22.自定义回调函数
function square($n) {
return $n * $n;
}
$numbers = array(1, 2, 3, 4, 5);
$squared = array_map('square', $numbers);
print_r($squared);
输出:
Array
(
[0] => 1
[1] => 4
[2] => 9
[3] => 16
[4] => 25
)
3.处理多个数组
$numbers1 = array(1, 2, 3);
$numbers2 = array(4, 5, 6);
$sum = array_map(function($a, $b) {
return $a + $b;
}, $numbers1, $numbers2);
print_r($sum);
输出:
Array
(
[0] => 5
[1] => 7
[2] => 9
)
array_slice
array_slice
函数
array_slice
函数从数组中取出一部分,并返回它。它不会改变原数组。
基本语法
array array_slice(array $array, int $offset, int $length = null, bool $preserve_keys = false)
•$array
:输入数组。•$offset
:如果是正数,表示从数组开头算起的偏移量;如果是负数,表示从数组末尾开始的偏移量。•$length
:可选。抽取的片段长度。如果省略或为 null,表示取到数组末尾。•$preserve_keys
:可选。默认是 false
。如果设置为 true
,保留原数组的键名。
示例
1.基本用法
$input = array("a", "b", "c", "d", "e");
$output = array_slice($input, 2);
print_r($output);
输出:
Array
(
[0] => c
[1] => d
[2] => e
)
22.指定长度
<?php
$input = array("a", "b", "c", "d", "e");
$output = array_slice($input, 1, 3);
print_r($output);
?>
输出:
Array
(
[0] => b
[1] => c
[2] => d
)
33.使用负偏移量
<?php
$input = array("a", "b", "c", "d", "e");
$output = array_slice($input, -2, 1);
print_r($output);
?>
输出:
Array
(
[0] => d
)
44.保留键名
<?php
$input = array("a" => 1, "b" => 2, "c" => 3, "d" => 4, "e" => 5);
$output = array_slice($input, 2, 2, true);
print_r($output);
?>
输出:
Array
(
[c] => 3
[d] => 4
)

往期推荐
原文始发于微信公众号(云鸦安全):【笔记】PHP 数组操作入门
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论