Преобразование многомерных массивов PHP в 2D-массивы с помощью ключей точечной записи.
Сведение многомерных массивов PHP в 2D-массивы с помощью ключей точечной записи может быть полезно в различные сценарии. Он позволяет беспрепятственно получать доступ к значениям вложенных массивов с помощью точечной записи, что повышает читаемость и удобство обслуживания кода.
Рекурсивная функция для преобразования вложенных массивов
К счастью, PHP предоставляет рекурсивную функцию функция, которая может элегантно выполнить это преобразование:
$result = array();
$ritit = new RecursiveIteratorIterator(new RecursiveArrayIterator($myArray));
foreach ($ritit as $leafValue) {
$keys = array();
foreach (range(0, $ritit->getDepth()) as $depth) {
$keys[] = $ritit->getSubIterator($depth)->key();
}
$result[join('.', $keys)] = $leafValue;
}
Объяснение:
Вывод:
Эта функция сгенерирует желаемый 2D-массив с точечной записью ключи:
$newArray = array(
'key1' => 'value1',
'key2.subkey' => 'subkeyval',
'key3' => 'value3',
'key4.subkey4.subsubkey4' => 'subsubkeyval4',
'key4.subkey4.subsubkey5' => 'subsubkeyval5',
'key4.subkey5' => 'subkeyval5'
);
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3