All pastes #29182 Raw Edit

funky arrays

public php v1 · immutable
#29182 ·published 2005-11-19 03:23 UTC
rendered paste body
    // Muestra sucursales y esas cosas    $u = & $GLOBALS['objeto_modelo_relacional']->load_object('user_data');    $u->load_object($ses_user);    // Llenamos las sucursales y eso    function &as_array( &$v) {        return is_array( $v ) ? $v : array();    }    $areas = as_array( $u->remote_list_by_id('lista_areas') );    $zonas = as_array( $u->remote_list_by_id('lista_zonas') );    $locales = as_array( $u->remote_list_by_id('lista_locales') );    $sucursales = as_array( $u->remote_list_by_id('cr_e_sucursal') );    $max_size = max( sizeof($areas), sizeof($zonas), sizeof($locales), sizeof($sucursales) );    // Creo una matriz cuadrada    $blocks['listas_sucursales'] = array();    while ( sizeof($blocks['listas_sucursales']) < $max_size ) {        $blocks['listas_sucursales'][] = array(            'area'=> '',            'local'=> '',            'descripcion'=> '',            'zona'=> '',        );    }    // En cada array con su id respectivo    foreach( array(        array($areas,'id'=>'area') ,        array($zonas,'id'=>'zona') ,        array($locales,'id'=>'local') ,        array($sucursales,'id'=>'sucursal') ,    ) as $lista_id ) {        $lista = & $lista_id[0];        $id = $lista_id['id'];        $b_index = 0;        foreach( $lista as $value) {            if (!isset($blocks['listas_sucursales'][$b_index])) {                $blocks['listas_sucursales'][$b_index] = array( $id => $value[$id] );            }            else {                $blocks['listas_sucursales'][$b_index][$id] = $value['descripcion'];            }            $b_index++;            //echo "Agregando $id => ". $value[$id]        }    }