«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как преобразовать строку в ассоциативный массив с помощью функций массива?

Как преобразовать строку в ассоциативный массив с помощью функций массива?

Опубликовано 7 ноября 2024 г.
Просматривать:552

How to Convert a String to an Associative Array Using Array Functions?

Преобразование строки в ассоциативный массив с помощью функций массива

В 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.

Заявление о выпуске Эта статья перепечатана по адресу: 1729549336. В случае каких-либо нарушений, пожалуйста, свяжитесь с [email protected], чтобы удалить ее.
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3