【问题标题】:PHP most efficient way to create an multidimensional array containing the values from list of valuesPHP 创建包含值列表中的值的多维数组的最有效方法
【发布时间】:2019-03-20 23:33:30
【问题描述】:

示例

输入是一个字符串数组,类似于

$strs = [
  "some string",
  "another string",
  // ...
];

结果应该是:

$result = [
  [
     "somestring",
     true
  ],
  [
     "another string",
     true
  ]
];

该应用程序是为数据提供者创建一个数组,以在单元测试中测试电话号码。

我可以很容易地在一个循环中做到这一点,但我想知道是否有一个数组函数。

我的循环解决方案:

$result = [];
foreach($strs as $str) {
    $result[] = [$str, true];
}

【问题讨论】:

标签: php arrays multidimensional-array dynamic


【解决方案1】:

您可以改用array_map()

$strs = [
  "some string",
  "another string",
  // ...
];
$result = array_map(function($val){
    return [$val, true];
}, $strs);

或者使用array_map()array_fill()的组合

$result = array_map(null, $strs, array_fill(0, sizeof($strs), true));

demo查看结果

【讨论】:

  • 不错的答案。虽然它没有说哪个是最有效的。
  • 效率取决于底层的 Php 实现。
猜你喜欢
  • 1970-01-01
  • 2015-07-05
  • 1970-01-01
  • 2016-10-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多