Создание ассоциативного массива в PHP — распространенная задача при работе с парами ключ-значение. Чтобы предоставить вам различные методы, я поискал примеры кода в Stack Overflow и представлю их ниже.
Метод 1: использование функции array()
$array = array(
"key1" => "value1",
"key2" => "value2",
"key3" => "value3"
);
Метод 2: использование синтаксиса квадратных скобок
$array = [
"key1" => "value1",
"key2" => "value2",
"key3" => "value3"
];
Метод 3. Динамическое добавление пар “ключ-значение”
$array = [];
$array["key1"] = "value1";
$array["key2"] = "value2";
$array["key3"] = "value3";
Метод 4. Использование функции array_combine()
$keys = ["key1", "key2", "key3"];
$values = ["value1", "value2", "value3"];
$array = array_combine($keys, $values);
Метод 5. Итеративное добавление пар “ключ-значение”
$array = [];
$keys = ["key1", "key2", "key3"];
$values = ["value1", "value2", "value3"];
foreach ($keys as $index => $key) {
$array[$key] = $values[$index];
}
Метод 6: использование функции Compact()
$key1 = "value1";
$key2 = "value2";
$key3 = "value3";
$array = compact("key1", "key2", "key3");
Метод 7. Использование функции array_fill_keys()
$keys = ["key1", "key2", "key3"];
$value = "default";
$array = array_fill_keys($keys, $value);
Метод 8: использование функции array_flip()
$originalArray = ["value1", "value2", "value3"];
$array = array_flip($originalArray);
Метод 9: использование функции array_reduce()
$keys = ["key1", "key2", "key3"];
$values = ["value1", "value2", "value3"];
$array = array_reduce($keys, function ($carry, $key) use ($values) {
$index = array_search($key, $keys);
$carry[$key] = $values[$index];
return $carry;
}, []);
Метод 10: использование функции array_walk()
$array = [];
$keys = ["key1", "key2", "key3"];
$values = ["value1", "value2", "value3"];
array_walk($keys, function ($key, $index) use (&$array, $values) {
$array[$key] = $values[$index];
});
Это лишь некоторые из множества способов создания ассоциативного массива в PHP. Вы можете выбрать метод, который соответствует вашим конкретным требованиям и стилю кодирования.