如何在PHP中展平数组?

Got*_*bel 4 php arrays function flatten multidimensional-array

我有一个包含4个数组的数组,每个数组都有一个值.

array(4) {
  [0]=>
  array(1) {
    ["email"]=>
    string(19) "test01@testmail.com"
  }
  [1]=>
  array(1) {
    ["email"]=>
    string(19) "test02@testmail.com"
  }
  [2]=>
  array(1) {
    ["email"]=>
    string(19) "test03@testmail.com"
  }
  [3]=>
  array(1) {
    ["email"]=>
    string(19) "test04@testmail.com"
  }
}
Run Code Online (Sandbox Code Playgroud)

什么是最好的(=最短的本机PHP函数首选)方法来展平数组,以便它只包含电子邮件地址作为值:

array(4) {
  [0]=>
  string(19) "test01@testmail.com"
  [1]=>
  string(19) "test02@testmail.com"
  [2]=>
  string(19) "test03@testmail.com"
  [3]=>
  string(19) "test04@testmail.com"
}
Run Code Online (Sandbox Code Playgroud)

moo*_*e99 11

在PHP 5.5中,您有array_column:

$plucked = array_column($yourArray, 'email');
Run Code Online (Sandbox Code Playgroud)

否则,请使用array_map:

$plucked = array_map(function($item){ return $item['email'];}, $yourArray);
Run Code Online (Sandbox Code Playgroud)

  • 或者如果你没有PHP 5.5,你可以使用官方函数作者的`array_column` https://github.com/ramsey/array_column的userland实现 (2认同)