Ver Mensaje Individual
  #19 (permalink)  
Antiguo 10/05/2012, 06:22
alex760125
 
Fecha de Ingreso: enero-2010
Mensajes: 239
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Comparar valores de un array.

Cita:
Iniciado por linuxzero Ver Mensaje
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:

Código PHP:
Ver original
  1. while (list($clave, $valor) = each($kkk)) {
  2.       echo $clave . " => " . $valor;
  3. }

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.

Última edición por alex760125; 10/05/2012 a las 06:44