php怎么获得二维数组的值_PHP获取二维数组内数值方法

1次阅读

可通过键名直接访问、foreach循环遍历、array_column提取列值、array_walk_recursive递归获取、array_map配合匿名函数五种方式提取php二维数组数值。

php怎么获得二维数组的值_PHP获取二维数组内数值方法

如果需要从PHP二维数组中提取特定位置或满足条件的数值,则需根据数组结构选择合适的访问方式。以下是获取二维数组内数值的多种方法:

一、通过键名直接访问指定元素

当二维数组使用关联键且已知层级键名时,可直接用方括号链式访问目标值。

1、定义一个包含用户信息的二维关联数组,例如:$users = [‘user1’ => [‘name’ => ‘张三’, ‘age’ => 25], ‘user2’ => [‘name’ => ‘李四’, ‘age’ => 30]];

2、使用双重键名访问具体字段,例如:echo $users[‘user1’][‘name’];

立即学习PHP免费学习笔记(深入)”;

3、该语句将输出:张三

二、使用foreach循环遍历并提取所有值

适用于需要获取全部子数组中某字段(如所有用户的年龄)或动态匹配条件的情形。

1、初始化目标存储数组,例如:$ages = [];

2、对二维数组执行嵌套foreach,外层遍历主键,内层访问子数组字段,例如:foreach ($users as $user) { $ages[] = $user[‘age’]; }

3、打印结果,例如:print_r($ages);

三、使用array_column函数提取指定列值

该函数专用于从多维数组中提取某一列的所有值,适用于索引数组或具有一致键名的关联数组。

1、确保二维数组结构统一,例如:$data = [[‘id’ => 1, ‘title’ => ‘文章A’], [‘id’ => 2, ‘title’ => ‘文章B’]];

2、调用array_column提取’title’列,例如:$titles = array_column($data, ‘title’);

3、输出结果为:[‘文章A’, ‘文章B’]

四、使用array_walk_recursive递归获取所有数值

当二维数组可能嵌套更深或结构不规则时,该函数可无差别遍历所有叶子节点值。

1、定义回调函数收集数值,例如:function collect_values($item, $key) { if (!is_array($item)) { $GLOBALS[‘collected’][] = $item; } }

2、初始化全局容器并执行遍历,例如:$collected = []; array_walk_recursive($users, ‘collect_values’);

3、查看收集结果,例如:var_dump($collected);

五、使用array_map配合匿名函数提取复合字段

适用于需对每个子数组执行计算或拼接操作后获取新值的情形。

1、定义原始二维数组,例如:$products = [[‘price’ => 100, ‘tax’ => 10], [‘price’ => 200, ‘tax’ => 20]];

2、使用array_map计算含税总价,例如:$total_prices = array_map(function($p) { return $p[‘price’] + $p[‘tax’]; }, $products);

3、结果为:[110, 220]

text=ZqhQzanResources