Identificadores
Variables
<?php echo $valor, $mensaje; ?>
$precioruedas es distinta a $PrecioRuedas
<?php
$valor= 3;
$precio= $valor;
$total= $valor + $precio;
?>
<?php var_dump(TRUE); var_dump(False); |
bool(true)
bool(false)
bool(true)
bool(false)
|
<?php var_dump(013); var_dump(11); |
int(11)
int(11)
int(11)
|
<?php var_dump(1.5678); |
float(1.5678)
float(45)
|
Intenta evaluar el contenido de la cadena sustituyendo las variables.
<?php |
El precio es de 50 euros
El precio es de 50 euros |
No se procesa el contenido de la cadena.
<?php |
El precio es de $precio euros
|
<?php
$numeros= array(1, 2, 3, 4, 5);
$cadenas= array("Hola", "mundo", "cruel");
$conjunto= array(1, 2.3, 'hola', array(true, 1.5e-12));
$diccionario= array("rueda" => 145, "aceite" => 24.5);
?>
<?php
class UnaClase {
function un_metodo() {
echo "Hace algo.";
} // end un_metodo
} // end UnaClase
$objeto = new UnaClase;
$objeto->un_metodo();
?>
<?php
$bbdd = mysql_pconnect('localhost', 'webuser', 'webpassword');
if (!$bbdd) {
die('Imposible conectar: ' . mysql_error());
}
echo 'Conexión realizada';
mysql_close($bbdd);
?>
Se consideran de tipo NULL aquellas variables que:
<?php
$val = "0"; // $val es una cadena (ASCII 48)
$val += 2; // $val es ahora un entero (2)
$val = $val + 1.3; // $val es ahora un flotante (3.3)
$val = 5 + "10 Cerditos"; // $val es entero (15)
?>
<?php
$cantidad = 0; // cantidad es de tipo integer
$total = (double)$cantidad; // total es de tipo double
?>
|
<?php |
Tiene un comportamiento similar al casting pero en algunos casos es un poco más potente (v.g. permite especificar la base).
<?php
error_reporting(E_ALL);
define("PRECIO", 25.7);
define("CANTIDAD", 12);
define("MENSAJE", "Hola mundo");
echo MENSAJE;
echo "<br>";
echo CANTIDAD * PRECIO;
echo "<br>";
echo OTRA; // Las constantes no definidas las interpreta como
// cadenas y te avisa (si error_reporting = E_ALL)
?>
<?php $a= 7; $b= 3;
echo $a + $b; // suma (= 10)
echo $a - $b; // resta (= 4)
echo $a * $b; // multiplicación (= 21)
echo $a / $b; // división (= 2.333333333)
echo $a % $b; // módulo o resto de la división entera (= 1)
echo - $a; // cambio de signo (= -7)
?>
<?php |
Muestra ... Adiós mundo cruel
|
<?php |
Muestra ... a= 5
b= 11 |
<?php $a= 5; $b= "7"; $c= "5"; echo "<br>"; |
bool(true) bool(false) bool(true) bool(true) bool(false) bool(true) bool(false) bool(false) bool(true) |
<?php
! $b // negación: devuelve true si $b es false o viceversa
$a && $b // conjunción: devuelve true si $a y $b son true.
// devuelve false en cualquier otro caso.
$a || $b // disyunción: devuelve true si $a o $b son true.
// devuelve false si $a y $b son false.
$a and $b // igual que && pero con menos precedencia
$a or $b // igual que || pero con menos precedencia
$a xor $b // disyunción exclusiva:
// devuelve true sólo si uno de los dos
// operandos es true, o $a o $b
?>
<?php
$a & $b // los bits activos en $a y en $b estarán
// activos en el resultado
$a | $b // los bits activos en $a o en $b estarán
// activos en el resultado
~ $a // el resultado tendrá los bits de $a invertidos
$a ^ $b // los bits activos en $a o en $b, pero no en
// ambos, estarán activos en el resultado
$a << $b // desplaza los bits de $a a la izquierda $b posiciones
$a >> $b // desplaza los bits de $a a la derecha $b posiciones
?>
<?php
$a += $b; // $a= $a + $b
$a -= $b; // $a= $a - $b
$a *= $b; // $a= $a * $b
$a /= $b; // $a= $a / $b
$a %= $b; // $a= $a % $b
$a .= $b; // $a= $a . $b
$a &= $b; // $a= $a & $b
$a |= $b; // $a= $a | $b
$a ^= $b; // $a= $a ^ $b
$a <<= $b; // $a= $a << $b
$a >>= $b; // $a= $a >> $b
?>
<?php
$a= 5; $b= ++$a; // $b == 6, $a == 6
$a= 5; $b= $a++; // $b == 5, $a == 6
?>
<?php
echo $a ? $b : $c; // si $a es true, devuelve $b y sino $c
?>
<?php
echo @(57/0); // no da el aviso de división por cero
?>
<?php
echo "<pre>". `ls -lh /etc/apache2` ."</pre>";
?>
<pre>total 80K -rw-r--r-- 1 root root 7,0K ene 7 2014 apache2.conf drwxr-xr-x 2 root root 4,0K mar 24 10:56 conf-available drwxr-xr-x 2 root root 4,0K jul 3 2014 conf-enabled -rw-r--r-- 1 root root 1,8K jul 20 2013 envvars -rw-r--r-- 1 root root 31K jul 16 2012 magic drwxr-xr-x 2 root root 12K jul 15 16:03 mods-available drwxr-xr-x 2 root root 4,0K oct 23 2013 mods-enabled -rw-r--r-- 1 root root 320 ene 7 2014 ports.conf drwxr-xr-x 2 root root 4,0K mar 24 10:56 sites-available drwxr-xr-x 2 root root 4,0K jul 29 2014 sites-enabled </pre>
<?php
{
sentencia1;
sentencia2;
}
?>
<?php
/* Esto es un comentario
de múltiples líneas */
echo "<p>Buenos días!</p>"; // Mensaje de buenos días
echo "<p>Buenos días!</p>"; # Mensaje de buenos días
?>
<?php |
<?php |
<?php |
<?php |
<?php
if ($total < 10)
$descuento= 0;
elseif ($total >= 10 && $total < 50)
$descuento= 5;
elseif ($total >= 50 && $total < 100)
$descuento= 10;
else
$descuento= 15;
?>
<?php
switch ($a) {
case 'a': // Se comienza a ejecutar este código si $a == 'a'
echo "<p>Se ha elegido la opción A</p>";
break; // La sentencia break salta al final de la
// sentencia switch
case 'b':
echo "<p>Se ha elegido la opción B</p>";
// Si no está el break se seguiría ejecutando
// el código siguiente
case 'c':
case 'd': // Se pueden unir dos o más condiciones
echo "<p>Se ha elegido la opción C o la D</p>";
break;
default:
echo "<p>Se ha escogido otra opción</p>";
break; // Este break no hace falta
} // final de la sentencia switch
?>
|
El código ...
<?php |
Genera el HTML ... 1<br>2<br>3<br>4<br>5<br> Muestra ... 1
2 3 4 5 |
<?php
$num= 1;
do {
echo $num . "<br>";
$num++;
} while ($num <= 5);
?>
<?php |
<?php |
<?php for (expresión1; condición; expresión2) expresión3; ?>
<?php |
<?php |
<?php |
<?php |
<?php |
<?php |