UT2 · SINTAXIS BÁSICA DE PHP

RA Y CONTENIDOS

RESULTADO DE APRENDIZAJE

RA2. Escribe sentencias ejecutables por un servidor web reconociendo y aplicando procedimientos de integración del código en lenguajes de marcas.

CE Criterio de evaluación
a) Se han reconocido los mecanismos de generación de páginas web a partir de lenguajes de marcas con código embebido.
b) Se han identificado las principales tecnologías asociadas.
c) Se han utilizado etiquetas para la inclusión de código en el lenguaje de marcas.
d) Se ha reconocido la sintaxis del lenguaje de programación que se ha de utilizar.
e) Se han escrito sentencias simples y se han comprobado sus efectos en el documento resultante.
f) Se han utilizado directivas para modificar el comportamiento predeterminado.
g) Se han utilizado los distintos tipos de variables y operadores disponibles en el lenguaje.
h) Se han identificado los ámbitos de utilización de las variables.

CONTENIDOS

Los contenidos son orientativos: lo que se evalúa son los criterios de la tabla anterior.

  • Inserción de código en páginas web:
    • Lenguajes embebidos en HTML.
    • Tecnologías asociadas: PHP, ASP.NET, JSP, Python, entre otras.
    • Obtención del lenguaje de marcas que se muestra en el cliente.
    • Etiquetas para la inserción de código.
  • Tipos de datos. Conversiones entre tipos de datos.
  • Variables y constantes:
    • Asignaciones.
    • Operadores.
    • Variables del sistema.
  • Directivas de configuración.
  • Funciones integradas del lenguaje.

CALIFICACIÓN

El RA2 se trabaja en esta unidad y en la UT3, y se aprueba por separado con una nota igual o superior a 5. Según la programación docente, su nota se calcula así:

Pruebas objetivas y controles Tareas, ejercicios y prácticas (incluye el cuaderno de clase)
50 % 50 %

1. INSERCIÓN DE CÓDIGO Y TECNOLOGÍAS ASOCIADAS

El mecanismo de generación de páginas web dinámicas en el servidor consiste en embeber o incrustar bloques de código fuente ejecutable dentro de un documento de lenguaje de marcas (HTML).

┌────────────────────────────────────────────────────────┐
│ Servidor Web                                           │
│ ┌──────────────────────┐      ┌──────────────────────┐ │
│ │ Documento HTML       │ ──>  │ Intérprete (ej. PHP) │ │
│ │  + Código Embebido   │      │ Procesa el código    │ │
│ └──────────────────────┘      └──────────┬───────────┘ │
└──────────────────────────────────────────┼─────────────┘
                                           │ Genera HTML puro
                                           ▼
┌────────────────────────────────────────────────────────┐
│ Navegador Cliente (Recibe sólo el resultado final)     │
│ <h1>Hola Carlos</h1>                                   │
└────────────────────────────────────────────────────────┘

A. Flujo de obtención del lenguaje de marcas

  1. El cliente solicita un archivo con extensión ejecutable (por ejemplo, .php).
  2. El servidor web analiza el documento e identifica los bloques delimitados por etiquetas especiales.
  3. El intérprete ejecuta las sentencias: procesa variables, operaciones o accesos a bases de datos.
  4. Las sentencias de salida (como echo o print) sustituyen al bloque de código original, que se transforma en HTML puro.
  5. El cliente recibe únicamente el resultado final en lenguaje de marcas, sin ver el código fuente del servidor.

B. Principales tecnologías asociadas

Tecnología Desarrollador Descripción
PHP The PHP Group (código abierto) Lenguaje interpretado de propósito general, muy extendido y que se integra directamente en HTML.
ASP.NET Microsoft Plataforma para ejecutar código de servidor .NET (C# o VB) en páginas web.
JSP / Servlets Oracle / Jakarta EE Las JavaServer Pages se compilan a Servlets de Java y se ejecutan en servidores como Tomcat.
Python Python Software Foundation Se usa con frameworks web (Django, Flask) y motores de plantillas como Jinja2.

C. Ejecución en el entorno de clase

Para que el código PHP se ejecute, el fichero debe pedirse a través de un servidor web, no abrirse directamente desde el disco (file://).

  • Windows y macOS: Herd. Guarda tu proyecto dentro de la carpeta de sitios de Herd y ábrelo en el navegador con la dirección http://nombre-carpeta.test.
  • Xubuntu: Lerd. Entra en la carpeta del proyecto y regístrala con lerd link; quedará disponible en http://nombre-carpeta.test.
  • Alternativa en cualquier sistema: el servidor integrado de PHP. Desde la carpeta del proyecto, ejecuta php -S localhost:8000 y abre http://localhost:8000.

Comprueba el resultado (CE e)

Abre el código fuente de la página en el navegador (Ctrl+U). Solo verás HTML: ninguna etiqueta PHP llega al cliente.


2. SINTAXIS BÁSICA Y ETIQUETAS DE INSERCIÓN EN PHP

2.1. Etiquetas de apertura y cierre

Para delimitar dónde empieza y termina el código de servidor, se utilizan las siguientes etiquetas:

<!-- Etiqueta estándar completa -->
<?php
    echo "Código ejecutado en el servidor";
?>

<!-- Etiqueta corta de impresión (short echo tag) -->
<?= "Impresión directa, equivalente a <?php echo ..." ?>

Fin de línea

Cada sentencia termina con punto y coma (;). La única excepción es la última sentencia antes de ?>, porque la etiqueta de cierre ya implica el punto y coma. Aun así, ponlo siempre: evita errores al añadir líneas.

2.2. Sintaxis de PHP

El elemento básico en PHP es el bloque. Un bloque PHP está delimitado por las etiquetas de apertura y cierre y contiene una serie de sentencias separadas por punto y coma.

<?php
    sentencia1;
    sentenciaN;
?>

En un mismo fichero puede haber varios bloques PHP mezclados con HTML. La forma recomendada de organizarlo es poner toda la lógica al principio y, en el HTML, usar solo <?= ?> para mostrar valores:

<?php
$nombre = 'Carlos';
$hora = date('H:i');
?>
<!DOCTYPE html>
<html lang="es">
<body>
    <h1>Hola, <?= $nombre ?></h1>
    <p>Son las <?= $hora ?></p>
</body>
</html>

Recomendación

Cuando un fichero contiene solo PHP, se recomienda no cerrar la etiqueta del último bloque. Un espacio o salto de línea después de ?> se enviaría al navegador y puede dar problemas si la respuesta del servidor involucra varios ficheros.

2.3. Instrucciones de salida: echo y print

echo print
Argumentos Uno o varios, separados por comas Solo uno
Devuelve un valor No Sí, siempre 1
Uso habitual El más usado Poco frecuente
<?php
echo "<p>Hola</p>";
echo "<p>Uno</p>", "<p>Dos</p>";   // varios argumentos
print "<p>Adiós</p>";

2.4. Comentarios

<?php
// Comentario de una línea
# También es un comentario de una línea (poco usado)
/*
   Comentario de
   varias líneas
*/

Los comentarios PHP no llegan al navegador. Los comentarios HTML (<!-- … -->) sí: cualquiera puede verlos con Ctrl+U.


3. VARIABLES, CONSTANTES Y TIPOS DE DATOS

PHP es un lenguaje de tipado débil y dinámico: una variable adopta el tipo del valor que se le asigna, y ese tipo puede cambiar durante la ejecución.

3.1. Declaración de variables

En PHP los identificadores de las variables comienzan siempre con el carácter $. Después, deben comenzar por una letra o un guion bajo (_), y pueden contener letras, números y guiones bajos.

  • Se distingue entre mayúsculas y minúsculas: $nombre y $Nombre son variables distintas.
  • Para nombres compuestos se usa camelCase ($precioFinal) o snake_case ($precio_final). No se puede usar un guion: $precio-final se interpreta como $precio menos final.

Para declarar una variable, solo hay que asignarle un valor: $nombre = valor;

La siguiente sentencia declara la variable $numero y le asigna el valor 4, por lo que será de tipo integer:

$numero = 4;

Variables no inicializadas

Si se usa una variable antes de asignarle un valor, PHP muestra un aviso (Warning: Undefined variable) y la variable vale null. La ejecución no se interrumpe, pero el resultado puede no ser el esperado. Inicializa siempre las variables.

3.2. Asignación por valor y por referencia

Por defecto, al asignar una variable a otra se hace una copia del valor. Con & se crea una referencia: otro nombre para la misma variable.

<?php
$original = 100;
$copia = $original;        // copia: valor independiente
$referencia = &$original;  // referencia: apunta a la misma variable

$referencia = 500;
var_dump($original);  // int(500): ha cambiado a través de la referencia
var_dump($copia);     // int(100): la copia no se ve afectada

Una función también puede recibir un parámetro por referencia y modificar la variable original:

<?php
function duplicar(int &$numero): void
{
    $numero = $numero * 2;
}

$valor = 10;
duplicar($valor);
echo $valor;  // 20

3.3. Tipos de datos

Esta tabla muestra los tipos de datos que se usan en PHP. Los cuatro primeros son escalares:

Tipo Descripción
int Números enteros (por ejemplo, 42 o -10)
float Números reales en coma flotante (por ejemplo, 19.99)
string Secuencia de caracteres entre comillas simples (' ') o dobles (" ")
bool Booleanos: true o false
array Colección de elementos identificados por un índice o una clave
object Instancia de una clase
callable Algo que se puede llamar como una función (callback)
null Ausencia de valor
resource Referencia a un recurso externo (un fichero abierto, una conexión…)

gettype() y los nombres antiguos

gettype() devuelve los nombres históricos: integer, double (para float) y boolean. Son los mismos tipos.

Para saber qué contiene una variable:

  • var_dump($x): muestra el tipo, el tamaño y el valor. Es la herramienta de depuración más útil.
  • gettype($x): devuelve el nombre del tipo.
  • is_int(), is_float(), is_string(), is_bool(), is_numeric()…: comprueban un tipo concreto.

3.4. Cadenas de texto

Para delimitar una cadena se pueden usar comillas simples o dobles, pero hay una diferencia importante:

Comillas Variables Secuencias de escape (\n, \t, \$)
Simples ' ' No se sustituyen: el texto es literal Solo \' y \\
Dobles " " Sí se sustituyen por su valor (interpolación) Sí
<?php
$producto = 'Portátil';

echo 'El producto es $producto';    // El producto es $producto
echo "El producto es $producto";    // El producto es Portátil
echo "Hay 3 {$producto}s";          // Las llaves separan la variable del texto: Hay 3 Portátils
echo "Cuesta \$800";                // \$ muestra el símbolo del dólar: Cuesta $800

Para textos largos de varias líneas existen dos sintaxis especiales:

<?php
// Heredoc: interpola variables, como las comillas dobles
$html = <<<HTML
<p>Producto: $producto</p>
<p>¡Solo hoy!</p>
HTML;

// Nowdoc: texto literal, como las comillas simples
$codigo = <<<'TXT'
Esto no se interpreta: $producto
TXT;

3.5. Conversión entre tipos de datos

Conversión implícita (type juggling). PHP convierte los tipos automáticamente cuando opera:

<?php
$a = 5;          // int
var_dump($a);    // int(5)
$a = "Hola";     // ahora es string
var_dump($a);    // string(4) "Hola"

$suma = "10" + "5.5";   // 15.5: las cadenas numéricas se convierten a número
$entero = 7 / 2;        // 3.5: la división puede devolver float

Conversión explícita (casting). Se fuerza el tipo poniendo el tipo entre paréntesis delante del valor:

<?php
$cadena = "105.5 productos";

$entero   = (int) $cadena;     // 105: se TRUNCA, no se redondea
$flotante = (float) $cadena;   // 105.5
$booleano = (bool) $entero;    // true
$texto    = (string) 3.0;      // "3"

Cuidado con estos casos

  • La coma decimal: (float) "19,90" da 19, porque la coma corta el número. Antes de convertir, usa str_replace(',', '.', $texto).
  • Valores que se convierten a false: false, 0, 0.0, "", "0", [] y null. Cualquier otro valor es true, incluido "0.0".
  • De float a int: con (int) o intval() se trunca. La conversión implícita de un float con decimales a int está obsoleta desde PHP 8.1 y genera un aviso.

3.6. Constantes

Representan valores fijos que no cambian durante la ejecución del script. Se escriben sin $ y, por convención, en mayúsculas.

<?php
// Con la función define(): se ejecuta en tiempo de ejecución
define("IMPUESTO_IVA", 0.21);

// Con la palabra clave const: se resuelve al compilar
const NOMBRE_SITIO = "IES Los Albares";

echo IMPUESTO_IVA;  // 0.21
define() const
Momento Al ejecutarse esa línea Al compilar el fichero
Dentro de un if o una función Sí No: solo en el nivel principal del fichero o en clases

PHP incluye constantes predefinidas, como PHP_VERSION, PHP_OS_FAMILY, PHP_INT_MAX o PHP_EOL (salto de línea del sistema).


4. OPERADORES EN PHP

4.1. Operadores aritméticos y de asignación

<?php
$a = 10;
$b = 3;

$suma     = $a + $b;        // 13
$resta    = $a - $b;        // 7
$producto = $a * $b;        // 30
$division = $a / $b;        // 3.3333…  (siempre puede devolver float)
$cociente = intdiv($a, $b); // 3        (división entera)
$modulo   = $a % $b;        // 1        (resto de la división)
$potencia = $a ** $b;       // 1000

// Asignación combinada
$a += 5;   // equivale a $a = $a + 5;  → 15
$a -= 2;   // 13
$a *= 2;   // 26
$a /= 2;   // 13
$a %= 5;   // 3

Incremento y decremento. El orden importa:

<?php
$x = 1;
$y = ++$x;  // PRE-incremento: primero suma y luego asigna → $x = 2, $y = 2
$z = $x++;  // POST-incremento: primero asigna y luego suma → $z = 2, $x = 3

4.2. Operadores de comparación

Operador Significado
== / != Igual / distinto en valor, convirtiendo los tipos (comparación débil)
=== / !== Igual / distinto en valor y tipo (comparación estricta)
<, >, <=, >= Menor, mayor, menor o igual, mayor o igual
<=> Nave espacial: devuelve -1, 0 o 1
<?php
$num = "10";

var_dump($num == 10);   // bool(true): solo compara el valor
var_dump($num === 10);  // bool(false): string frente a int

var_dump(1 <=> 2);      // int(-1)
var_dump(2 <=> 2);      // int(0)
var_dump(3 <=> 2);      // int(1)

Usa la comparación estricta

La comparación débil da sorpresas. Usa === y !== salvo que tengas un motivo para no hacerlo.

  • "abc" == 0 → false desde PHP 8 (en PHP 7 era true).
  • "1e3" == "1000" → true: las dos cadenas son numéricas y valen 1000.
  • null == false → true, pero null === false → false.

Operador de fusión de nulo (??). Devuelve el primer valor si existe y no es null; si no, el segundo. Es muy útil con las superglobales:

<?php
$usuario = $_GET['user'] ?? 'Invitado';  // si no existe $_GET['user'], vale 'Invitado'

4.3. Operadores lógicos

Operador Resultado true cuando…
$a && $b $a y $b son verdaderos
$a || $b Al menos uno es verdadero
!$a $a es falso
$a xor $b Solo uno de los dos es verdadero
<?php
$edad = 20;
$carnet = true;
var_dump($edad >= 18 && $carnet);  // bool(true)

and y or

También existen and y or, pero tienen menos prioridad que =: $x = true and false; deja $x en true. Usa siempre && y ||.

4.4. Operadores de cadenas

  • Concatenación (.): une dos cadenas y devuelve el resultado.

    $a = "Hola ";
    $b = $a . "Mundo!";  // $b contiene "Hola Mundo!"
    
  • Asignación con concatenación (.=): añade la cadena de la derecha a la variable de la izquierda.

    $a = "Hola ";
    $a .= "Mundo!";  // $a ahora contiene "Hola Mundo!"
    

4.5. Precedencia

Cuando una expresión tiene varios operadores, se evalúan en este orden (de más a menos prioridad):

  1. **
  2. ++, -- y conversiones (int), (float)…
  3. !
  4. *, /, %
  5. +, -
  6. . (desde PHP 8, la concatenación va después de la suma y la resta)
  7. Comparaciones: <, >, ==, ===…
  8. &&, ||
  9. ??
  10. Asignaciones: =, +=…
<?php
var_dump(2 + 3 * 4);    // int(14)
var_dump((2 + 3) * 4);  // int(20): los paréntesis cambian el orden

5. ÁMBITO DE LAS VARIABLES

El ámbito (scope) determina desde dónde se puede usar una variable:

  1. Ámbito global: variables declaradas fuera de las funciones.
  2. Ámbito local: variables declaradas dentro de una función. Solo existen dentro de ella y desaparecen al terminar.
  3. Variables estáticas (static): son locales, pero conservan su valor entre llamadas a la función.

Una función no ve las variables globales, salvo que se le indique expresamente:

<?php
$mensaje = "Hola";

function sinGlobal()
{
    echo $mensaje;   // Warning: Undefined variable $mensaje
}

function conGlobal()
{
    global $mensaje;             // importa la variable global
    echo $mensaje;               // Hola
    echo $GLOBALS['mensaje'];    // otra forma: el array $GLOBALS
}

Variables estáticas:

<?php
function contarVisitas(): int
{
    static $contador = 0;  // solo se inicializa la primera vez
    $contador++;
    return $contador;
}

echo contarVisitas() . '<br>';  // 1
echo contarVisitas() . '<br>';  // 2
echo contarVisitas() . '<br>';  // 3

Solo dentro de una misma petición

Las variables estáticas y globales desaparecen cuando termina el script. Si recargas la página, empiezan de nuevo. Para conservar datos entre peticiones se usan cookies y sesiones (UT4).


6. VARIABLES DEL SISTEMA (SUPERGLOBALES)

PHP proporciona un conjunto de variables predefinidas, llamadas superglobales, que están disponibles en cualquier parte del código, también dentro de las funciones:

Variable Descripción
$GLOBALS Todas las variables globales de la aplicación
$_SERVER Información del servidor, de la petición y del entorno de ejecución
$_GET Parámetros enviados en la URL (query string)
$_POST Datos enviados por un formulario con el método POST
$_FILES Ficheros subidos con un formulario
$_COOKIE Cookies que envía el cliente
$_SESSION Datos de sesión que se conservan entre peticiones de un usuario
$_REQUEST Contenido de $_GET, $_POST y $_COOKIE juntos
$_ENV Variables de entorno

6.1. La superglobal $_SERVER

Es un array con información sobre la petición y el servidor. Estas son sus claves más útiles:

Clave Contenido Ejemplo
HTTP_HOST Dominio solicitado ut02.test
REQUEST_METHOD Método HTTP GET
REQUEST_URI Ruta y parámetros pedidos /ut02p08.php?id=3
QUERY_STRING Solo los parámetros de la URL id=3
SCRIPT_NAME Ruta del script desde la raíz web /ut02p08.php
SCRIPT_FILENAME Ruta completa del script en el disco /home/alumno/Herd/ut02/ut02p08.php
DOCUMENT_ROOT Carpeta raíz del sitio /home/alumno/Herd/ut02
REMOTE_ADDR IP del cliente 127.0.0.1
HTTP_USER_AGENT Navegador y sistema del cliente Mozilla/5.0 (X11; Linux…)
SERVER_SOFTWARE Software del servidor web nginx/1.27
<?php
$navegador = $_SERVER['HTTP_USER_AGENT'] ?? 'No disponible';
echo htmlspecialchars($navegador);

No te fíes de lo que envía el cliente

Las claves que empiezan por HTTP_ (como HTTP_USER_AGENT) las envía el navegador y se pueden falsificar. Muéstralas siempre con htmlspecialchars() y usa ?? por si alguna clave no existe.


7. DIRECTIVAS DE CONFIGURACIÓN

Las directivas son los parámetros que controlan el comportamiento de PHP: si muestra los errores, cuánta memoria puede usar, la zona horaria… Sus valores por defecto están en el fichero php.ini.

  • Para saber qué php.ini se está usando, ejecuta php --ini en el terminal o consulta la salida de phpinfo().
  • ini_get('directiva') devuelve el valor actual de una directiva.
  • ini_set('directiva', 'valor') lo cambia solo para el script que se está ejecutando.
<?php
// Mostrar todos los errores mientras desarrollas
ini_set('display_errors', '1');
error_reporting(E_ALL);

// Zona horaria para las funciones de fecha
date_default_timezone_set('Europe/Madrid');

echo ini_get('memory_limit');         // por ejemplo, 128M
echo ini_get('upload_max_filesize');  // por ejemplo, 2M
Directiva Para qué sirve
display_errors Mostrar los errores en la página
error_reporting Qué tipos de error se notifican (E_ALL = todos)
log_errors Guardar los errores en un fichero de registro
date.timezone Zona horaria por defecto
memory_limit Memoria máxima que puede usar un script
max_execution_time Segundos máximos de ejecución de un script
upload_max_filesize Tamaño máximo de un fichero subido

Desarrollo frente a producción

  • En desarrollo: display_errors activado, para ver los errores al momento.
  • En producción: display_errors desactivado y log_errors activado. Los mensajes de error revelan rutas y detalles internos que pueden servir a un atacante.

Algunas directivas, como upload_max_filesize, no se pueden cambiar con ini_set(): hay que modificarlas en php.ini.


8. FUNCIONES INTEGRADAS

PHP incluye miles de funciones listas para usar. Estas son algunas de las más habituales. Puedes consultar todas en la documentación oficial: php.net/manual/es.

8.1. Cadenas

Función Ejemplo Resultado
strlen($s) strlen("ñandú") 7 (cuenta bytes)
mb_strlen($s) mb_strlen("ñandú") 5 (cuenta caracteres)
mb_strtoupper($s) / mb_strtolower($s) mb_strtoupper("ñandú") ÑANDÚ
ucfirst($s) ucfirst("hola") Hola
trim($s) trim(" hola ") hola
str_replace($buscar, $poner, $s) str_replace(",", ".", "19,90") 19.90
str_pad($s, $long, $relleno, STR_PAD_LEFT) str_pad("3", 5, "0", STR_PAD_LEFT) 00003
mb_substr($s, $inicio, $long) mb_substr("Murcia", 0, 3) Mur
str_contains($s, $buscar) str_contains("Hola mundo", "mundo") true
htmlspecialchars($s) htmlspecialchars("<b>") &lt;b&gt;

Usa las funciones mb_

En UTF-8, la ñ y las letras con tilde ocupan 2 bytes. Las funciones que empiezan por mb_ trabajan con caracteres y dan el resultado correcto. Por ejemplo, strtoupper("ñandú") no pone la ñ en mayúscula, pero mb_strtoupper() sí.

8.2. Números

Función Ejemplo Resultado
round($n, $decimales) round(3.14159, 2) 3.14
floor($n) / ceil($n) floor(3.7) / ceil(3.2) 3 / 4
intdiv($a, $b) intdiv(17, 5) 3
abs($n) abs(-5) 5
max(...) / min(...) max(4, 17, 9) 17
number_format($n, $dec, $sepDec, $sepMiles) number_format(1234.5, 2, ',', '.') 1.234,50
intval($s, $base) intval("1A", 16) 26
is_numeric($v) is_numeric("19,90") false
random_int($min, $max) random_int(1, 6) Un número del 1 al 6

8.3. Fechas

Función Ejemplo Resultado
date($formato) date('d/m/Y H:i') 02/11/2026 12:30
time() time() Segundos desde el 1/1/1970 (marca de tiempo)
date($formato, $marca) date('d/m/Y', time() + 86400) La fecha de mañana

Letras de formato más usadas en date(): d (día), m (mes), Y (año con 4 cifras), H (hora 0–23), i (minutos), s (segundos) y N (día de la semana, del 1 al 7).

8.4. Información sobre PHP

Función Devuelve
phpversion() La versión de PHP
php_sapi_name() Cómo se ejecuta PHP (fpm-fcgi, cli…)
phpinfo() Una página con toda la configuración. Nunca la dejes en un servidor público

9. AUTOEVALUACIÓN

1. ¿Qué ocurre si utilizamos comillas simples ' para definir una cadena que contiene una variable $nombre?

  • A) Se sustituye la variable por su valor correspondiente.
  • B) Se imprime el texto literal $nombre sin evaluar la variable.
  • C) Se produce un error sintáctico de tipo E_PARSE.
  • D) La variable se convierte automáticamente a tipo integer.

2. ¿Cuál es el resultado de evaluar 5 === "5" en PHP?

  • A) true
  • B) Genera un error de conversión de tipos.
  • C) null
  • D) false

3. ¿Cuál de estos nombres de variable NO es válido en PHP?

  • A) $precio_final
  • B) $_temporal
  • C) $precio-final
  • D) $precioFinal2

4. Una función necesita usar la variable $iva, declarada fuera de ella. ¿Qué tiene que hacer?

  • A) Nada: las variables globales se ven en todas las funciones.
  • B) Declararla con global $iva; dentro de la función.
  • C) Declararla con static $iva; dentro de la función.
  • D) Escribirla en mayúsculas: $IVA.

5. ¿Qué valor tiene (int) "3.99 euros"?

  • A) 4
  • B) 3.99
  • C) 3
  • D) 0
Soluciones

1. B) · 2. D) · 3. C) · 4. B) · 5. C)