Cita:
Iniciado por linuxzero
cuando hace el unset($kkk[$k1]) es porque se cumplio la condicion de $k1 == $k2 por ende $k1 es igual a $k2, entonces si usas unset($kkk[$k2]) es exactamente igual ;)
y con respecto al while es porque no se recorre el while con el each de esa manera, se hace asi:
Probalo y fijate si va
Te pregunté porque
no me dio igual resultado. Si hago unset($kkk[$k1]) y después cuento el array q queda me da 7 q es correcto, si lo hago así unset($kkk[$k2]) me da 4,
cosa q no entiendo porque al igual q tú pensé debía dar igual.
Estos fueron los valores q di a las variables:
$cuatro=12
$diezseis=10
$veintecuatro=6
$veintecinco=1
$treinta=1
$treintasiete=6
$treintaocho=3
$cuarentatres=1
$cuarentaseis=1
$cuarentaocho=9
Como puedes ver al quitar los repetidos me quedan seis valores, más uno por las variables q fueron cero. 6+1=7
En cuanto al while si estoy recorriendo el array, fíjate bien, pasa q en vez de usar list() asigno los valores del array a las variables $elemento y $compara, arriba faltaba un
) de cierre al segundo while, lo arreglé y ya no me da error, pero cuando cuento el array me da 50, como q no hace nada ese código.
Lo pongo de esta forma, q es parecido al tuyo:
while($elemento=each($kkk))
{
while($compara=each($kkk))
{
if($elemento["key"]!=$compara["key"])
{
if($elemento["value"]==$compara["value"])
unset(
$elemento["key"]);
}
}
}
Y aparece este error
Notice: Undefined index: key in C:\wamp\www\euromill\deprueba.php Lo q tampoco entiendo porque me estoy refiriendo a la key del valor $elemento y $compara q se están comparando.