Ir al contenido


Foto

Buscar valor en array


  • Por favor identifícate para responder
3 respuestas en este tema

#1 ramflores

ramflores

    Member

  • Miembros
  • PipPip
  • 42 mensajes
  • LocationMonterrey, Mexico

Escrito 17 enero 2015 - 01:03

Buen dia Foro.

Como puedo hacer una busqueda en un array algo como:

$a= array("Precio"=>"C","Total"=>"C","Cantidad"=>"N");

si busco precio me regrese "C"
si busco total me regrese "C"
si busco cantidad me regrese "N"

gracias de antemano
  • 0

#2 poliburro

poliburro

    Advanced Member

  • Moderadores
  • PipPipPip
  • 4.945 mensajes
  • LocationMéxico

Escrito 17 enero 2015 - 01:50



Para arreglos de una dimensiones sencillo pues solo tienes que hacer $a["Precio"] y con eso obtienes el valor de esa posición del array
  • 0

#3 ramflores

ramflores

    Member

  • Miembros
  • PipPip
  • 42 mensajes
  • LocationMonterrey, Mexico

Escrito 18 enero 2015 - 10:16

Ok ... y para buscar el valor de uno seria con array_search ?

Ejemplo

$valor = array_search ('Precio', $a )
Y si lo encuentra me da el valor?
Y si no lo encuentra que valor regresa?
  • 0

#4 ramflores

ramflores

    Member

  • Miembros
  • PipPip
  • 42 mensajes
  • LocationMonterrey, Mexico

Escrito 19 enero 2015 - 10:26

Gracias amigos, ya pude resolverlo de la siguiente manera:

$formato['Precio'] = 'C';
$formato['Total_Det'] = 'C';
$formato['Cantidad'] = 'N';


if ( array_key_exists($this->campos[$i], $this->formato) ) {
                                $tipo = $this->formato[$this->campos[$i]];
                                switch ($tipo) {
                                    case "C":
                                        $numero = $this->row[ $this->campos[$i] ];
                                        echo "<td style='text-align: right;'>"."$".number_format(sprintf('%0.2f', preg_replace("/[^0-9.]/", "", $numero)),2)."</td>";
                                        break;
                                    case "N":
                                        echo "<td style='text-align: right;'>".number_format($this->row[ $this->campos[$i] ],3)."</td>";
                                        break;
                                }
                            } else {
                                echo '<td>'.$this->row[ $this->campos[$i] ].'</td>';
                            }

Esto es mas que nada para una pequeña clase que realice para un dbgrd sencillo, lo que buscaba era como mandar un tipo de formato de la columna
Si llegaren a tener algun comentario bienvenido

Gracias de antemano

  • 0