Обычно я использую функцию compact()
для php для массива зданий из переменных. Кроме того, я могу создать этот массив вручную. Есть ли какие-либо плюсы или минусы этих обычаев? Я использую примеры обеих этих объявлений в следующем сегменте:
Компактное использование
<?php $name = "John"; $surname = "Doe"; compact('name','surname'); ?>
Вывод:
['name'=>'John','surname'=>'Doe']
Ручная идентификация массива
<?php $name = "John"; $surname = "Doe"; $data = array("name"=>$name,"surname"=>$surname); ?>
Вывод:
['name'=>'John','surname'=>'Doe']
Я думаю, что это скорее вопрос предпочтения.
Если у меня есть куча локальных переменных, объявленных, и я хочу, чтобы мои ключи массива были названы одинаково, compact
очень полезна.
Я не считаю, что так часто бывает. Обычно я определяю более сложный массив:
$array = [ 'foo' => $something->foo(), 'bar' => $bar, 'baz' => A_CONSTANT ];
Чтобы использовать compact
диск, вам придется сначала определить свои переменные $foo
$bar
и $baz
, что кажется глупым.
Мне нравится compact
, я просто не считаю ее полезной большую часть времени.
Хорошо, я должен был сделать это. Вот очень простое нехатериальное сравнение производительности:
Короче говоря, использование compact
на порядок медленнее.
И все же вы должны использовать его 100 000 (в этом примере), чтобы иметь значение крошечной доли секунды.
Другими словами: используйте то, что имеет наибольший смысл для вашего кода. Не беспокойтесь о невероятно небольшой разнице в производительности!