PHP наиболее эффективный способ создания многомерного массива, содержащего значения из списка значений - PullRequest
0 голосов
/ 16 октября 2018

Пример

Входные данные - это массив строк, например,

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

Результат должен быть следующим:

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

Приложение должно создать массив дляпоставщик данных для проверки телефонных номеров в модульных тестах.

Я могу сделать это очень легко в цикле, но мне интересно, есть ли для него функция массива.

Мой цикл решения:

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

1 Ответ

0 голосов
/ 16 октября 2018

Вы можете использовать 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));

Результат проверки в демо

...