Ver Mensaje Individual
  #4 (permalink)  
Antiguo 01/06/2010, 03:44
Avatar de Triby
Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 16 años, 7 meses
Puntos: 2237
Respuesta: array de novata

Código PHP:
Ver original
  1. $tar=explode(",", $tarifas['cad']);// cadena tres de valores
  2.  
  3. // Creo que la siguiente linea esta mal:
  4. $caracAnteriores=explode(",", $tar['anterior']);// cadena 1 anterior
  5. // Segun yo, deberia ser:
  6. $caracAnteriores=explode(",", $tarifas['anterior']);// cadena 1 anterior
  7. // Porque acabas de crear $tar y no creo que te conserve alguna coma
  8.  
  9. $comp= $_POST['comp'];// cadena nueva
  10. if(count($tar)>count($comp)){// busco cual es mas larga
  11.     $mayor=count($tar);
  12. }else{
  13.     $mayor=count($comp);
  14. }
  15. for($i=0; $i<$mayor; $i++){
  16.     // Revisa primero si existen ambos valores
  17.     if(!isset($comp[$i]) || !isset($caracAnteriores[$i])) {
  18.         // Que valor asignaras si uno u otro no existen?
  19.         $resultado = ',1';
  20.         continue; // Pasas al siguiente valor
  21.     }
  22.     if($comp[$i]==$caracAnteriores[$i]) {
  23.         $resultado.=",".$tar[$i];// si es igual uno el valor anterior
  24.     }else{
  25.         $resultado.=",1"; // si no es igual pongo un uno
  26.         // Segun yo te sobran las siguientes cuatro lineas porque repites el ciclo
  27.         // for($j=$i; $j<$mayor; $j++){// miro las siguientes
  28.         //   if($comp[$i]==$caracAnteriores[$j]){
  29.         //   $resultado.=",".$tar[$j];// si coincide pongo su valor anterior
  30.         // }
  31.     }
  32. }
  33. echo $resultado;

Todavia se puede simplificar un poco, pero primero necesitas revisar si la logica es correcta y que funcione como esperas.
__________________
- León, Guanajuato
- GV-Foto