Foros del Web » Programando para Internet » PHP »

Como indexar array al estilo C++ en php

Estas en el tema de Como indexar array al estilo C++ en php en el foro de PHP en Foros del Web. Hola... Resulta que quiero hacer algo como esto (que es posible hacer en c++ y muchos lenguajes) $cadena = "A:1#B:2#C:3#D:4#E:5#"; $valorA = explode( ":", explode( ...
  #1 (permalink)  
Antiguo 03/03/2008, 18:52
 
Fecha de Ingreso: enero-2008
Mensajes: 46
Antigüedad: 12 años
Puntos: 1
Como indexar array al estilo C++ en php

Hola...

Resulta que quiero hacer algo como esto (que es posible hacer en c++ y muchos lenguajes)

$cadena = "A:1#B:2#C:3#D:4#E:5#";

$valorA = explode( ":", explode( "#", $cadena )[0] )[1];
$valorB = explode( ":", explode( "#", $cadena )[1] )[1];
$valorC = explode( ":", explode( "#", $cadena )[2] )[1];
$valorD = explode( ":", explode( "#", $cadena )[3] )[1];
$valorE = explode( ":", explode( "#", $cadena )[4] )[1];


El resultado de esto seria $valorA = 1, $valorB = 2, $valorC = 3, $valorD = 4, $valorE = 5


Pero php me muestra un error con esta sintaxis.......
  #2 (permalink)  
Antiguo 03/03/2008, 19:33
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 12 años, 9 meses
Puntos: 292
Re: Como indexar array al estilo C++ en php

Yo lo haria con expresiones regulares.... y una expresion posible seria esta:

([A-Z]:[0-9]#)([A-Z]:[0-9]#)([A-Z]:[0-9]#)([A-Z]:[0-9]#)([A-Z]:[0-9]#)

PD: te ayudaria mas pero tendria que poner a ver con que funcion se hace (tengo memoria fragil) snif snif
__________________
Salu2!
  #3 (permalink)  
Antiguo 03/03/2008, 19:43
(Desactivado)
 
Fecha de Ingreso: diciembre-2006
Mensajes: 529
Antigüedad: 13 años, 1 mes
Puntos: 11
De acuerdo Re: Como indexar array al estilo C++ en php

Yo haría algo así:
Código PHP:
 
$cadena 
"A:1#B:2#C:3#D:4#E:5#";
$sep explode("#",$cadena);
foreach (
$sep as $sec) {
$val explode(":",$sec);
$valor[$val[0]] = $val[1];

Y te queda algo así:

$valor['A'] -> 1
$valor['B'] -> 2
$valor['C'] -> 3
$valor['D'] -> 4
...

Saludos
  #4 (permalink)  
Antiguo 03/03/2008, 19:51
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 12 años, 9 meses
Puntos: 292
Re: Como indexar array al estilo C++ en php

Código PHP:
<?
$cadena 
"A:1#B:2#C:3#D:4#E:1986#";
$do preg_match("/([A-Z]:[0-9]{1,}#)([A-Z]:[0-9]{1,}#)([A-Z]:[0-9]{1,}#)([A-Z]:[0-9]{1,}#)([A-Z]:[0-9]{1,}#)/"$cadena$matches);

If (
$do){
  
//print_r($matches);    
  
For ($i=1;$i<count($matches);++$i){
  
$matches[$i]= substr($matches[$i],2,strlen($matches[$i])-3);
  echo 
$matches[$i]."<br/>";
  }
  
}
?>
Listo!
__________________
Salu2!
  #5 (permalink)  
Antiguo 12/03/2008, 20:00
 
Fecha de Ingreso: enero-2008
Mensajes: 46
Antigüedad: 12 años
Puntos: 1
De acuerdo Re: Como indexar array al estilo C++ en php

Esta bien todo lo que han respondido pero yo no me refiero a extraer los datos...

yo me refiero a la sintaxis de hacer "indexado de array inline sobre una funcion"


por ejemplo>
Código PHP:
echo elementosDeMiArray()[0]; 
En php no se como hacerlo gracias....
  #6 (permalink)  
Antiguo 12/03/2008, 21:28
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 12 años, 9 meses
Puntos: 292
Re: Como indexar array al estilo C++ en php

Cita:
yo me refiero a la sintaxis de hacer "indexado de array inline sobre una funcion"
Nunca vi lo que decis y estimo que no se puede pero vamos que no todos los lenguajes tienen porque ser tan potentes como C++
__________________
Salu2!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 13:44.