Foros del Web » Programando para Internet » PHP »

como se puede hacer...

Estas en el tema de como se puede hacer... en el foro de PHP en Foros del Web. tengo el siguinte problema tengo un array con claves como por ejemplo SGF001_00A => 00C - GRUPO A SGF002_O => O - CONJUNTAMENTE CON SGF003_00C ...
  #1 (permalink)  
Antiguo 04/09/2003, 13:10
Avatar de Chuty  
Fecha de Ingreso: noviembre-2002
Ubicación: el bar de la esquina
Mensajes: 609
Antigüedad: 21 años, 5 meses
Puntos: 2
como se puede hacer...

tengo el siguinte problema
tengo un array con claves como por ejemplo


SGF001_00A => 00C - GRUPO A
SGF002_O => O - CONJUNTAMENTE CON
SGF003_00C => 00C - GRUPO C
SGF004_0101 => 0101 - ABRIR CAJA DE SEGURO.
SGF004_0101_OBS => 0101_OBS - CAJA DE SEGURO.
SGF004_0101_OBS_texto => 0101_OBS_texto - *_40000

pero solo quiero ver en pantalla

SGF001_00A => 00C - GRUPO A
SGF002_O => O - CONJUNTAMENTE CON
SGF003_00C => 00C - GRUPO C
SGF004_0101 => 0101 - ABRIR CAJA DE SEGURO.
SGF004_0101_OBS_texto => 0101_OBS_texto - *_40000

como puedo hacer para no mostrar las claves que vengan con SGF004_xxxx_OBS ya que xxxxx puede ser cualquier valor.
desde ya muchas gracias y saludos a todos
P.D espero que entindan.
  #2 (permalink)  
Antiguo 04/09/2003, 15:38
 
Fecha de Ingreso: julio-2003
Mensajes: 165
Antigüedad: 20 años, 9 meses
Puntos: 1
Hola Chuty,


Bueno, una forma que se me ocurre sería básicamente así:

a) En un ciclo evaluar las claves y valores de la matriz asociativa.
b) Al inicio del cuerpo del ciclo, validar, con una expresión regular por ejemplo, el valor de la clave.
c) Si la clave coincide con el patrón que indicas, saltar ese paso del ciclo.
d) De lo contrario, imprimir los valores de clave y valor.

Algo como:

Código:
<?php

$matriz = array (
    'SGF001_00A'            => '00C - GRUPO A',
    'SGF002_O'              => 'O - CONJUNTAMENTE CON',
    'SGF003_00C'            => '00C - GRUPO C',
    'SGF004_0101'           => '0101 - ABRIR CAJA DE SEGURO.',
    'SGF004_0101_OBS'       => '0101_OBS - CAJA DE SEGURO.',
    'SGF004_0101_OBS_texto' => '0101_OBS_texto - *_40000');


while ((list ($clave, $valor) = each ($matriz))) {

    // Si coincide con el patron dado, saltar este paso del ciclo
    if (preg_match ('/^SGF004_.*_OBS$/', $clave))
        continue;

    echo "$clave => $valor\n<br />\n";
}

?>
Un cordial saludo
  #3 (permalink)  
Antiguo 04/09/2003, 16:07
Avatar de Chuty  
Fecha de Ingreso: noviembre-2002
Ubicación: el bar de la esquina
Mensajes: 609
Antigüedad: 21 años, 5 meses
Puntos: 2
Gracias leonardop era eso no mas...
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




La zona horaria es GMT -6. Ahora son las 22:46.