Foros del Web » Programando para Internet » PHP »

Comparar Arreglos con FOR anidados

Estas en el tema de Comparar Arreglos con FOR anidados en el foro de PHP en Foros del Web. Hola amigos estoy tratando de comparar dos arreglos con for anidados , lo que realmente quiero hacer es comparar cada elemento de tipo_auto con lo ...
  #1 (permalink)  
Antiguo 02/07/2010, 14:42
 
Fecha de Ingreso: julio-2010
Mensajes: 2
Antigüedad: 9 años, 5 meses
Puntos: 0
Comparar Arreglos con FOR anidados

Hola amigos estoy tratando de comparar dos arreglos con for anidados , lo que realmente quiero hacer es comparar cada elemento de tipo_auto con lo de la tabla si se encuentra quiero tomar el indice para cuando hagao pg_query modifica otro campo de la tabla que se llama car_engine. aqui esta mi codigo.
AGRADECERIA SU AYUDA.

<?php
include 'conexion.php';
$consulta=pg_query($conn,"select car_category from especificaciones");


$tipo_auto= array("Cabrio / Sports","Family Cars","Large / Luxuy Cars",
"SUV","Station Wagons Estate","GDL");

$p=0;
while ($registro=pg_fetch_row($consulta))
{
$lista[$p]= $registro[0];
$p++;
}
$tam=sizeof($registro);
for ($i=0; $i<= $tam; $i++)
{
for ($p=0;$p<=$tam; $p++)
{
if ($lista[$p]== $tipo_auto[$i])
{ $toma_indice= $p;
break;
}
}
}

<?
  #2 (permalink)  
Antiguo 02/07/2010, 22:11
 
Fecha de Ingreso: septiembre-2009
Ubicación: Neuquén
Mensajes: 142
Antigüedad: 10 años, 2 meses
Puntos: 12
Respuesta: Comparar Arreglos con FOR anidados

No entiendo bien lo que quieres hacer amigo :S
  #3 (permalink)  
Antiguo 02/07/2010, 22:59
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 11 años, 4 meses
Puntos: 1532
Respuesta: Comparar Arreglos con FOR anidados

para eso esta el SQL IN: ...WHERE campo IN (value1, value2, ...)
  #4 (permalink)  
Antiguo 03/07/2010, 20:05
 
Fecha de Ingreso: julio-2010
Mensajes: 2
Antigüedad: 9 años, 5 meses
Puntos: 0
Respuesta: Comparar Arreglos con FOR anidados

Gracias por responder, lo que realmente quiero hacer es con un for anidado comparar si el elemento de una posicion del arreglo1 se encuentra en otra posicion del arreglo2 ejemplo :
$automovil= "BMW","FORD","SUBARU";
$auto_de_postgres= "SUBARU", "FORD", "FERRARI";
entonces quiero comparar estos dos arreglos con FOR anidados. y quiero tomar la posicion en que se encuentra cada uno. en el ejemplo anterior $auto_de_postgres[0] == $automovil[2]; aqui vemos que se encuentra en la posicion 0 del arrelgo auto_de_postgres y en $automovil de la posicion 2. Espero que hayan entendido lo que quisiera hacer. Muchas Gracias.
  #5 (permalink)  
Antiguo 03/07/2010, 20:14
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 9 años, 7 meses
Puntos: 461
Respuesta: Comparar Arreglos con FOR anidados

si es dos arreglos si lo puesdes hacer con dos for algo asi
Código PHP:
$arreglo1=array('FORD','BMW');
$arreglo2=array('CHEVROLET','FORD');
$cant1=count($arreglo1);
$cant2=count($arreglo2);
for(
$i=0;$i<$cant1;$i++)
{
      for(
$e=0;$e<$cant2;$e++)
      {
            if(
$arreglo1[$i]==$arreglo2[$e])
           {
                  echo 
"son iguales";
           }
            else
           {
                echo 
"no son iguales";
           }
      }

  #6 (permalink)  
Antiguo 03/07/2010, 22:32
Avatar de wiwi74  
Fecha de Ingreso: marzo-2008
Mensajes: 515
Antigüedad: 11 años, 9 meses
Puntos: 10
Respuesta: Comparar Arreglos con FOR anidados

Bueno, aunque solo use mysql como base de datos, intentare algo.

Si lo hiciera con mysql, el algoritmo seria mas o menos asi:

Código PHP:

$consulta
=pg_query($conn,"select car_category from especificaciones");

$tipo_auto= array(
                    
"Cabrio / Sports",
                    
"Family Cars",
                    
"Large / Luxuy Cars",
                    
"SUV",
                    
"Station Wagons Estate",
                    
"GDL"
                    
);
//contamos las filas de la tabla, servira para el loop for
$nums_rows=pg_num_rows($consulta);

for(
$i=0$i<$nums_rows$i++){
//con pg_fetch_row convertimos cada fila en un array numerico
$registro=pg_fetch_row($consulta);
//fijate si puse bien $registro[$i] quiza sea $registro[0]
//para mysql (otra base de datos) estaria bien
if($tipo_auto[$i] == $registro[$i]){
//mostrar segun condicion
}else{
//mostrar segun condicion
}


Etiquetas: anidados, arreglos, comparar
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 10:28.