【笔记】PHP 数组操作入门

admin 2024年7月4日16:15:55评论1 views字数 3419阅读11分23秒阅读模式

本文为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;)通常更简洁:

<?php$stack = array("apple", "banana");$stack[] = "cherry";print_r($stack);?>

使用场景

array_push 通常用于需要动态地向数组末尾添加元素的场景,例如处理堆栈数据结构或累积数据。

array_pop

PHP 中有 array_pop 函数,它用于将数组的最后一个元素弹出(即从数组末尾移除并返回该元素)。使用此函数时,数组的长度会减少一个。

基本语法

mixed array_pop(array &$array)

$array:输入数组,必须是通过引用传递的(即数组本身会被修改)。返回值:数组的最后一个元素。如果数组为空,则返回 NULL

示例

示例 1:弹出最后一个元素

<?php$stack = array("apple", "banana", "cherry");$fruit = array_pop($stack);echo $fruit; // 输出: cherryprint_r($stack); // 输出: Array ( [0] => apple [1] => banana )?>

示例 2:连续弹出多个元素

<?php$stack = array("apple", "banana", "cherry");$last_fruit = array_pop($stack); // cherry$second_last_fruit = array_pop($stack); // bananaecho $last_fruit; // 输出: cherryecho $second_last_fruit; // 输出: bananaprint_r($stack); // 输出: Array ( [0] => apple )?>

示例 3:处理空数组

<?php$empty_array = array();$element = array_pop($empty_array);var_dump($element); // 输出: NULLprint_r($empty_array); // 输出: Array ( )?>

注意事项

1.修改原数组array_pop 会直接修改传入的数组,移除其最后一个元素。2.返回值:返回被移除的元素。如果数组为空,则返回 NULL3.效率:对于大的数组,频繁使用 array_pop 可能会有性能影响,因为每次操作都需要修改数组的内部结构。

array_pop 用于从数组的末尾移除并返回元素,特别适用于栈(LIFO - 后进先出)的操作场景。

array_map

array_map 函数

array_map 函数将回调函数作用到给定数组的每个元素,并返回一个包含所有回调函数返回值的数组。

基本语法

array array_map(callable $callback, array $array1, array ...$arrays)

$callback:要应用到数组每个元素的回调函数。$array1:要处理的第一个数组。...$arrays:可选。要处理的其他数组。

示例

1.将数组元素转换为大写

<?php$input = array("apple", "banana", "cherry");$output = array_map('strtoupper', $input);print_r($output);?>

输出:

Array( [0] => APPLE [1] => BANANA [2] => CHERRY)

22.自定义回调函数

<?phpfunction 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.处理多个数组

<?php$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.基本用法

<?php$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 数组操作入门【笔记】PHP 数组操作入门

往期推荐

PHP变量覆盖漏洞学习笔记

原文始发于微信公众号(云鸦安全):【笔记】PHP 数组操作入门

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年7月4日16:15:55
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【笔记】PHP 数组操作入门https://cn-sec.com/archives/2918755.html

发表评论

匿名网友 填写信息