Convertir matrices PHP multidimensionales en matrices 2D con claves de notación de puntos
Aplanar matrices PHP multidimensionales en matrices 2D con claves de notación de puntos puede ser beneficioso para varios escenarios. Le permite acceder sin problemas a valores de matrices anidadas usando notación de puntos, lo que mejora la legibilidad y el mantenimiento del código.
Función recursiva para convertir matrices anidadas
Afortunadamente, PHP proporciona una función recursiva función que puede lograr elegantemente esta conversión:
$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;
}
Explicación:
Salida:
Esta función generará la matriz 2D deseada con claves de notación de puntos:
$newArray = array(
'key1' => 'value1',
'key2.subkey' => 'subkeyval',
'key3' => 'value3',
'key4.subkey4.subsubkey4' => 'subsubkeyval4',
'key4.subkey4.subsubkey5' => 'subsubkeyval5',
'key4.subkey5' => 'subkeyval5'
);
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3