En algunos casos, podemos escribir una condición sin necesidad de escribir comparaciones.
Por ejemplo, el programa siguiente define una variable lógica $esPepe como el resultado de una comparación. Concretamente la variable será true si la variable $nombre es la cadena "Pepe" y false si no.
<?php
$nombre = "Juan";
$esPepe = $nombre == "Pepe";
if ($esPepe == false) {
print "<p>Su nombre no es Pepe.</p>\n";
}
if ($esPepe == true) {
print "<p>Su nombre es Pepe.</p>\n";
}
?>
<p>Su nombre no es Pepe</p>
Podemos escribir simplemente:
<?php
$nombre = "Pepe";
$esPepe = $nombre == "Pepe";
if (!$esPepe) {
print "<p>Su nombre no es Pepe.</p>\n";
}
if ($esPepe) {
print "<p>Su nombre es Pepe.</p>\n";
}
?>
<p>Su nombre es Pepe</p>
Nota: Las conversiones implícitas de tipos deben utilizarse con cuidado, cuando estemos seguros de los valores que van a ser covnertidos. El uso indiscrimado de conversiones implícitas puede producir errores imprevistos. En caso de duda, es preferible no utilizarlas.
Por ejemplo, el programa siguiente define un contador $cuenta que contiene el número de cincos obtenidos al ejecutar el bucle for.
<?php
$cuenta = 0;
for ($i = 0; $i < 3; $i++) {
$dado = rand(1, 6);
print "<p>Tirada de dado: $dado</p>\n";
if ($dado == 5) {
$cuenta++;
}
}
if ($cuenta == 0) {
print "<p>No ha salido ningún cinco.</p>\n";
}
if ($cuenta > 0) {
print "<p>Han salido $cuenta cinco(s).</p>\n";
}
?>
<p>Tirada de dado: 6</p>
<p>Tirada de dado: 4</p>
<p>Tirada de dado: 1</p>
<p>No ha salido ningún cinco.</p>
Podemos escribir simplemente:
<?php
$cuenta = 0;
for ($i = 0; $i < 3; $i++) {
$dado = rand(1, 6);
print "<p>Tirada de dado: $dado</p>\n";
if ($dado == 5) {
$cuenta++;
}
}
if (!$cuenta) {
print "<p>No ha salido ningún cinco.</p>\n";
}
if ($cuenta) {
print "<p>Han salido $cuenta cinco(s).</p>\n";
}
?>
<p>Tirada de dado: 5</p>
<p>Tirada de dado: 5</p>
<p>Tirada de dado: 1</p>
<p>Han salido 2 cinco(s).</p>
Nota: Las conversiones implícitas de tipos deben utilizarse con cuidado, cuando estemos seguros de los valores que van a ser covnertidos. El uso indiscrimado de conversiones implícitas puede producir errores imprevistos. En caso de duda, es preferible no utilizarlas.
Por ejemplo, el programa siguiente define un contador $cuenta que contiene el número de cincos obtenidos al ejecutar el bucle for.
<?php
$nombre = "";
if ($nombre == "") {
print "<p>No ha escrito su nombre.</p>\n";
}
if ($nombre != "") {
print "<p>Su nombre es $nombre.</p>\n";
}
?>
<p>No ha escrito su nombre.</p>
Podemos escribir simplemente:
<?php
$nombre = "Alberto";
if (!$nombre) {
print "<p>No ha escrito su nombre.</p>\n";
}
if ($nombre) {
print "<p>Su nombre es $nombre.</p>\n";
}
?>
<p>Su nombre es Alberto.</p>