二维转一组数组

  1. array_column($reinfosult , 'name');
  2. $res = array_reduce($info, 'array_merge', array());
  3. $res = [];
  4. array_walk_recursive($info, function($value) use (&$res) {
  5. array_push($res, $value);
  6. });

举例: 假设有一个包含用户信息的数组,想要提取所有用户的姓名:

  1. $users = [
  2. [
  3. 'id' => 1,
  4. 'name' => 'Alice',
  5. 'email' => 'alice@example.com',
  6. ],
  7. [
  8. 'id' => 2,
  9. 'name' => 'Bob',
  10. 'email' => 'bob@example.com',
  11. ],
  12. [
  13. 'id' => 3,
  14. 'name' => 'Charlie',
  15. 'email' => 'charlie@example.com',
  16. ],
  17. ];
  18. $names = array_column($users, 'name');
  19. print_r($names);

输出:

  1. Array
  2. (
  3. [0] => Alice
  4. [1] => Bob
  5. [2] => Charlie
  6. )

使用 $index_key 如果希望结果数组的键是用户的 ID,可以指定第三个参数:

  1. $namesById = array_column($users, 'name', 'id');
  2. print_r($namesById);

输出:

  1. Array
  2. (
  3. [1] => Alice
  4. [2] => Bob
  5. [3] => Charlie
  6. )