Мне часто нужна функциональность для преобразования массива в ассоциативный массив (часто для того, чтобы можно было проверить наличие записи, используя isset
).
Позвольте мне привести пример:
$test = array("foo", "bar", "faz");
Я хотел бы преобразовать это во что-то вроде:
$test = array("foo" => true, "bar" => true, "faz" => true);
Я знаю об этих методах, которые (почти) достигают того, что я хочу сделать, но я ищу что-тоболее изящный и элегантный, чем этот:
$new = array();
foreach ($test as $v) $new[$v] = true; // want to do it without a loop
$new = array_flip($test); // works for isset but array_values($new) are all different
$new = array_map(function() { return true; }, array_flip($test)); // would work but verbose
Есть идеи?