PHP - No entiendo que $expresion con valor 0 sea cierto...

 
Vista:
sin imagen de perfil
Val: 9
Ha aumentado su posición en 15 puestos en PHP (en relación al último mes)
Gráfica de PHP

No entiendo que $expresion con valor 0 sea cierto...

Publicado por Oscar (3 intervenciones) el 01/11/2020 13:36:11
Hola. Soy principiante.
Estoy corrigiendo un ejercicio sobre arrays en php, como éste:

1
$miArrayIndice = Array(1=>9,2=>20,3=>0,4=>17);

Sería mostrar todos los elementos menos el valor 0, que yo lo he hecho así:

1
2
3
4
5
foreach($miArrayIndices as $valores){
    if($valores != 0){
        echo $valores . '<br />';
    }
}

Con lo que sale:

9
20
17

Un amigo me ha dejado su ejercicio para corregirlo, y la cuestión es que el expresa la condicón del if de la siguiente manera.

1
2
3
4
5
foreach($miArrayIndices as $valores){
    if($valores){
        echo $valores . '<br />';
    }
}

Y le sale correcto.

La cuestión es que no entiendo el porqué. $valores es true SIEMPRE, CON CUALQUIER VALOR. es así porque no se compara con ningún valor, no? Y si es true ¿cómo es que me muestra los demás valores?

Alguien que me lo pueda clarificar, please. o indicar el porqué.

Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de joel
Val: 3.828
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

No entiendo que $expresion con valor 0 sea cierto...

Publicado por joel (1269 intervenciones) el 01/11/2020 15:06:24
Hola Oscar, hay unos valores que siempre devuelve false... por ejemplo, el 0 y el Null...

Eso lo tienes sencillo de ver:
1
2
3
echo False==False;
echo False==0;
echo False==Null;
Veras que todos devuelve 1==True

Por lo tanto si $valor=0 y hacemos: if ($valor), es lo mismo que if (False)


No se si me he sabido explicar...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 9
Ha aumentado su posición en 15 puestos en PHP (en relación al último mes)
Gráfica de PHP

No entiendo que $expresion con valor 0 sea cierto...

Publicado por Oscar (3 intervenciones) el 01/11/2020 15:10:30
Hola joel:
Gracias por la aclaración.

Entonces podría crearme un array con 0 y 1 y usarlo como ¿array booleano? (se me ocurre)....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de joel
Val: 3.828
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

No entiendo que $expresion con valor 0 sea cierto...

Publicado por joel (1269 intervenciones) el 01/11/2020 15:18:55
Si, cierto!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 9
Ha aumentado su posición en 15 puestos en PHP (en relación al último mes)
Gráfica de PHP

No entiendo que $expresion con valor 0 sea cierto...

Publicado por Oscar (3 intervenciones) el 01/11/2020 15:55:40
Muchas gracias!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar