Originariamente inviato da diabolikk
beh questi codici risolvono il problema che hai esposto

qual'è il tuo problema?
Vediamo se riesco a spiegarlo

Facciamo conto di avere 4 array composte così:

codice:
$array_0 = array('1', '2', '3', '4', '5', '6', '7', '8', '9', '10');

$array_1 = array('2010-01-01', '2010-01-10', '2010-01-15');

$array_2 = array('2010-01-01', '2010-01-10', 2010-01-10', '2010-01-15);

$array_3 = array('10' ,'20', '6', '8');
Ora io devo ciclare il secondo array, quindi $array_1 e fin qui nessun problema basta fare un foreach e la cosa è risolta.
Il problema sta nel fatto, che come vedi, nel terzo array (molto semplificato anche questo), ci possono essere valori uguali, 2, 3 , 4 ,5, 100 volte.

Ora nel foreach usato per ciclare $array_1, al suo interno io devo o meglio dovrei , cercare le corrispondeze......come vedi $array_2 e $array_3 contengono lo stesso numero di chiavi ovvero se estraggo $array_2[1] prendo il suo valore da $array_3[1], quindi avrò: "2010-01-10 => 20", e anche fin qui tutto bene, tanto per capirci in codice:

codice:
foreach($array_0 as $valore_0){

    foreach($array_1 as $valore_1){

        for($i=0; $i!=count($array_2); $i++){

            if($array_2[$i]==$valore_1){

                if($array_3[$i]==$valore_0){

                    echo "Trovata corrispondenza: ".$valore." => ".$array_2[$i]." => ".$array_3[$i]."
";

                }else{

                    echo "Non trovata
";

                }

            }

        }

    }

}
e così funziona se non ho duplicati, perche io devo incasellare i valori in una tabella html, sotto a ogni data corrispondente.

Usando i valori che ho messo ad esempio negli array, mi ritrovo che salta una cella, ma giustamente, controlla il primo valore, trova la corrispondenza delle due date, e prende il corrispettivo valore da $array_3, al secondo ciclo di $array_1 trova il primo '2010-01-10' quindi trova la corrispondenza di data, ma non di valore tra $array_0 e $array_3 e quindi passa al terzo ciclo e li trova corrispondenza come al primo ciclo, quello che serve a me è che se trova corrispondenza di data ma non di valore, non faccia nulla, come se non esistesse, spero di essermi spiegato, ma è abbastanza incasinato, anche perchè qui ho fatto un esempio per semplificare il reale codice.