Превратите значение массива в ключ массива в PHP

#php #arrays

Вопрос:

У меня есть массив, подобный этому:

 $array = ('mango','apple','orange','peach');
 

Я хочу превратить его в новую переменную, подобную этой:

 $options = ('mango'=>'mango','apple'=>'apple','orange'=>'orange','peach'=>'peach');
 

в принципе, я хочу, чтобы значение массива стало ключом массива, я могу добиться этого с помощью такого цикла:

 foreach($array as $value){
  $options[$value] = $value; 
}
 

но существует ли какая-либо собственная функция PHP или однострочная функция, которая действует так же, как описанная выше функция?

Ответ №1:

Вы можете использовать array_combine() https://www.php.net/manual/en/function.array-combine.php:

 $options = array_combine($array, $array);
 

Вероятно, вам следует сначала убедиться, что массив содержит только уникальные значения array_unique() , чтобы избежать конфликтов ключей.