Ver Mensaje Individual
  #2 (permalink)  
Antiguo 21/03/2020, 09:17
Avatar de zerpico_01
zerpico_01
 
Fecha de Ingreso: enero-2008
Ubicación: Wilde - Avellaneda -
Mensajes: 421
Antigüedad: 16 años, 3 meses
Puntos: 13
Respuesta: Crear Array con Datos de BD

No se si lo he entendí bien, pero en fin, tomado su código,
lo he modificado para que sea funcional para el siguiente ejemplo.
Su código:

Código PHP:

$postData 
= [
    
'ID' => 'R76987753-3T56F21',
        
'Encabezado' => [
            
'IdDoc' => [
                
'TipoDTE' => 39,
                
'Folio' => 22,
                
'FchEmis' => '2019-06-03',
                
'FmaPago' => '1',
                
'FchVenc' => '2019-06-03'
            
],
            
'Emisor' => [
                
'RUTEmisor' => '76987753-3',
                
'RznSocEmisor' => 'APPNET TECHNOLOGY LIMITADA',
                
'GiroEmisor' => 'EDICION DE PROGRAMAS INFORMATICOS',
                
'Acteco' => '465100',
                
'DirOrigen' => 'VARAS MENA 980',
                
'CmnaOrigen' => 'SAN MIGUEL',
                
'CiudadOrigen' => 'SANTIAGO'
            
],
            
'Receptor' => [
                
'RUTRecep' => '18927902-7',
                
'RznSocRecep' => 'IVAN ANDRES SAAVEDRA VALENZUELA',
                
'GiroRecep' => 'ACTIVIDADES DE PROGRAMACION INFORMATICA',
                
'DirRecep' => 'AURORA DE CHILE 1475',
                
'CmnaRecep' => 'RECOLETA',
                
'CiudadRecep' => 'SANTIAGO'
            
],
            
'Totales' => [
                
'MntExe' => 0,
                
'MntNeto' => 8403,
                
'TasaIVA' => 19,
                
'IVA' => 1597,
                
'MntTotal' => 10000
            
]
        ],
        
'Detalle' => [
            [
                
'NroLinDet' => 'iddetalle',
                
'CdgItem' => [
                    
'VlrCodigo' => 'codigoproducto',
                    
'TpoCodigo' => 'INTERNO POR DEFECTO'
                
],
                
'NmbItem' => 'nombre de producto',
                
'QtyItem' => 'cantidad',
                
'PrcItem' => 'precio',
                
'DescuentoMonto' => 'descuento',
                
'MontoItem' => 'totalimporte'
            
],
            [
                
'NroLinDet' => 2,
                
'CdgItem' => [
                    
'VlrCodigo' => 'ACEITUNA',
                    
'TpoCodigo' => 'INTERNO'
                
],
                
'NmbItem' => 'Servicio 2',
                
'QtyItem' => 100,
                
'PrcItem' => 84,
                
'DescuentoMonto' => 0,
                
'MontoItem' => 8403
            
]
        ],
        
'DscRcgGlobal' => [
            [
                
'NroLinDR' => 1,
                
'TpoMov' => 'D',
                
'GlosaDR' => 'DESCUENTO GLOBAL AL DOCUMENTO',
                
'TpoValor' => '$',
                
'ValorDR' => 10000
            
]
        ]
    ]; 
Una forma de hacer lo que necesita seria:

Código PHP:
foreach ($postData as $key => $value) {
    echo 
$key.PHP_EOL;
    if (
is_array($value)) {
        foreach (
$value as $sub_key => $sub_val) {
            if (
is_array($sub_val)) {
                echo 
$sub_key ' : '.PHP_EOL;
                foreach (
$sub_val as $sub_sub_key => $sub_sub_value) {
                    if (!
is_array($sub_sub_value)) {
                        echo 
$sub_sub_key " = " $sub_sub_value PHP_EOL;
                    } else {
                        
/** joder tio aca si es array otro foreach!! */
                        /** si si yo tambien tomo el mismo Whisky :-D */
                    
}
                }
            } else {
                echo 
$sub_key.' = '$sub_val PHP_EOL;
            }
        }
    }

de todos modos no creo que sea la mejor opción la que esta utilizando para imprimir
la respuesta a la consulta de su DB

Mi recomendación es que optimice su consulta y obtenga los datos sin tanto anidado.
Pero en fin va en usted.
saludos.
__________________
Es duro fracasar en algo, pero es mucho peor no haberlo intentado. - Si crees todo lo que lees, mejor no leas -

Última edición por zerpico_01; 21/03/2020 a las 09:19 Razón: ortografia