Ver Mensaje Individual
  #6 (permalink)  
Antiguo 15/02/2008, 14:22
Avatar de Panino5001
Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años, 7 meses
Puntos: 834
Re: Array PHP a javascript o DOM

Probé el enlace que colocaste más arriba (la función array2json, que no requiere php5) y también me funcionó correctamente. A esta altura sospecho que tu problema debe pasar por otro lado.
Esta fue mi prueba:
Código PHP:
<?php
function array2json($arr) {
    
$parts = array();
    
$is_list false;

    
//Find out if the given array is a numerical array
    
$keys array_keys($arr);
    
$max_length count($arr)-1;
    if((
$keys[0] == 0) and ($keys[$max_length] == $max_length)) {//See if the first key is 0 and last key is length - 1
        
$is_list true;
        for(
$i=0$i<count($keys); $i++) { //See if each key correspondes to its position
            
if($i != $keys[$i]) { //A key fails at position check.
                
$is_list false//It is an associative array.
                
break;
            }
        }
    }

    foreach(
$arr as $key=>$value) {
        if(
is_array($value)) { //Custom handling for arrays
            
if($is_list$parts[] = array2json($value); /* :RECURSION: */
            
else $parts[] = '"' $key '":' array2json($value); /* :RECURSION: */
        
} else {
            
$str '';
            if(!
$is_list$str '"' $key '":';

            
//Custom handling for multiple data types
            
if(is_numeric($value)) $str .= $value//Numbers
            
elseif($value === false$str .= 'false'//The booleans
            
elseif($value === true$str .= 'true';
            else 
$str .= '"' addslashes($value) . '"'//All other things
            // :TODO: Is there any more datatype we should be in the lookout for? (Object?)

            
$parts[] = $str;
        }
    }
    
$json implode(',',$parts);
    
    if(
$is_list) return '[' $json ']';//Return numerical JSON
    
return '{' $json '}';//Return associative JSON

$algo=array(
    array(
'cod_empresa','num_identificacion','razon_social','representante','tipo_empresa','telefono','direccion'),
    array(
1,805029800,'Empresa 1','Juliana','Propia','475-89-96','Cr. 9 No. 9-54'),
    array(
2,14528964,'Empresa 2','Diego','Propia','4516789','Cll 1 No. 13-27')
);
?>
<script>
obj=new Function('return <?php echo array2json($algo?>')();
alert(obj[1][3]); //devuelve Juliana
alert(obj[2][2]);//devuelve Empresa 2
</script>