Преобразование строки в ассоциативный массив с помощью функций массива
В PHP часто возникает необходимость преобразовать строку, содержащую пары ключ-значение, в ассоциативный массив. Рассмотрим строку типа «1-350,9-390.99», где каждый элемент разделен дефисом и запятой. Цель состоит в том, чтобы создать ассоциативный массив, в котором первое число в каждом элементе становится ключом, а второе число становится значением.
Это преобразование можно эффективно выполнить с помощью встроенных функций массива PHP. Первый шаг включает разбиение строки на отдельные массивы с помощью preg_split("/[-,]/", $input), который разделяет числа дефисами и запятыми. Результатом является список подмассивов, каждый из которых содержит ключ и значение.
Далее мы используем array_chunk для группировки этих подмассивов на фрагменты по два, гарантируя, что один элемент содержит ключ, а другой — ключ. ценность. Наконец, array_column используется для извлечения ключей и значений в отдельные массивы. Использование array_combine для этих массивов дает желаемый ассоциативный массив.
Фрагмент кода:
$input = '1-350,9-390.99';
$chunks = array_chunk(preg_split('/[-,]/', $input), 2);
$result = array_combine(array_column($chunks, 0), array_column($chunks, 1));
Вывод:
Array ( [1] => 350 [9] => 390.99 )
Этот метод эффективно преобразует строку в ассоциативный массив, не прибегая к циклам, демонстрируя мощь функций массива PHP.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3