Código PHP:
Ver original$tar=explode(",", $tarifas['cad']);// cadena tres de valores
// Creo que la siguiente linea esta mal:
$caracAnteriores=explode(",", $tar['anterior']);// cadena 1 anterior // Segun yo, deberia ser:
$caracAnteriores=explode(",", $tarifas['anterior']);// cadena 1 anterior // Porque acabas de crear $tar y no creo que te conserve alguna coma
$comp= $_POST['comp'];// cadena nueva
if(count($tar)>count($comp)){// busco cual es mas larga }else{
}
for($i=0; $i<$mayor; $i++){
// Revisa primero si existen ambos valores
if(!isset($comp[$i]) || !isset($caracAnteriores[$i])) { // Que valor asignaras si uno u otro no existen?
$resultado = ',1';
continue; // Pasas al siguiente valor
}
if($comp[$i]==$caracAnteriores[$i]) {
$resultado.=",".$tar[$i];// si es igual uno el valor anterior
}else{
$resultado.=",1"; // si no es igual pongo un uno
// Segun yo te sobran las siguientes cuatro lineas porque repites el ciclo
// for($j=$i; $j<$mayor; $j++){// miro las siguientes
// if($comp[$i]==$caracAnteriores[$j]){
// $resultado.=",".$tar[$j];// si coincide pongo su valor anterior
// }
}
}
echo $resultado;
Todavia se puede simplificar un poco, pero primero necesitas revisar si la logica es correcta y que funcione como esperas.