PHP中传递数组有五种方法:一、直接传参后用索引访问;二、引用传参以修改原数组;三、用...展开为可变参数;四、动态传键名访问元素;五、配合array_map等内置函数及回调处理。

如果您希望在PHP中通过函数参数传递数组并访问其中的元素,则需要明确数组的传递方式以及如何在函数内部正确引用其值。以下是实现此目标的多种方法:
一、直接传递数组并访问指定索引
将整个数组作为参数传入函数,在函数体内使用方括号语法访问具体元素。该方式适用于已知键名或数字索引的场景。
1、定义一个包含多个元素的数组,例如 $data = ['name' => 'Alice', 'age' => 30];
2、编写函数,形参接收数组变量,如 function printElement($arr) { ... }
立即学习“PHP免费学习笔记(深入)”;
3、在函数内使用 $arr['name'] 或 $arr[0] 获取对应值
4、调用函数时传入数组变量,如 printElement($data);
二、通过引用传递数组以支持修改原数组
当需要在函数内部修改数组内容并使原始数组同步更新时,应使用引用传递。此时对数组元素的赋值操作会影响外部变量。
1、函数定义时在形参前添加 & 符号,如 function modifyElement(&$arr) { ... }
2、在函数体内执行类似 $arr['status'] = 'active'; 的操作
3、调用函数后,原始数组会包含新增或更改的键值对
4、验证修改结果可使用 var_dump($originalArray);
三、使用可变参数列表处理多个数组元素
利用PHP的 ... 运算符接收不定数量的参数,适合将数组展开为独立参数后进行逐个处理。
1、定义函数时使用 function processElements(...$elements) { ... }
2、调用时使用 processElements(...$data); 展开数组
3、函数体内 $elements 成为一个包含所有值的新数组
4、遍历该数组并分别处理每个元素,例如 foreach ($elements as $e) { echo $e; }
四、通过键名动态访问数组元素
当键名不确定或来自外部输入时,可将键名也作为参数传入,增强函数通用性。
1、定义函数接受两个参数:数组和键名,如 function getValue($arr, $key) { ... }
2、在函数中检查键是否存在,使用 isset($arr[$key])
3、若存在则返回 $arr[$key],否则返回默认值或触发警告
4、调用示例为 getValue($data, 'age');
五、使用回调函数配合数组元素处理
借助 array_map、array_filter 等内置函数,将自定义逻辑封装为回调,作用于数组每一个元素。
1、定义匿名函数作为回调,如 $callback = function($item) { return strtoupper($item); };
2、调用 array_map($callback, $data); 对每个元素执行转换
3、若需访问键名,可改用 array_walk($data, $callback);
4、确保回调函数签名匹配,例如 function($value, $key) { ... }











