From 7cc8df5441b3d274f5df94c202320b5bb9f688a5 Mon Sep 17 00:00:00 2001 From: lacatoire Date: Fri, 8 May 2026 14:54:32 +0200 Subject: [PATCH] [Sync EN] Habilitar ejemplos WASM en language.variables PR upstream: php/doc-en#5455 Commit: 64007e9f6b23f70d8874be11c4eb9d45556b742f Closes #576 --- language/variables.xml | 137 ++++++++++++++++++++++------------------- 1 file changed, 75 insertions(+), 62 deletions(-) diff --git a/language/variables.xml b/language/variables.xml index e11a60ab9..a2b6038fc 100644 --- a/language/variables.xml +++ b/language/variables.xml @@ -1,8 +1,9 @@ - + - + Variables @@ -44,7 +45,7 @@ Valid variable names - + ]]> @@ -84,7 +84,6 @@ $4site = 'aún no'; // Inválido; comienza con un número ${'invalid-name'} = 'bar'; $name = 'invalid-name'; echo ${'invalid-name'}, " ", $$name; -?> ]]> &example.outputs; @@ -125,9 +124,8 @@ bar bar $foo = 'Bob'; // Asigna el valor 'Bob' a $foo $bar = &$foo; // Referenciar $foo vía $bar. $bar = "Mi nombre es $bar"; // Modifica $bar... -echo $bar; -echo $foo; // $foo también se modifica. -?> +echo $bar . PHP_EOL; +echo $foo . PHP_EOL; // $foo también se modifica. ]]> @@ -140,17 +138,37 @@ echo $foo; // $foo también se modifica. + + + + + +// Nota: Se emite un aviso, pero el valor sin referencia es asignado +$result1 = &test(); // Inválido porque test() no devuelve una variable por referencia. +var_dump($result1); + +// Esta función está definida como retornando una referencia, pero no retorna una variable +function &test2() +{ + return 26; // Inválido porque el valor retornado no es una referencia a una variable. +} + +// Nota: El valor sin referencia es asignado +$result2 = &test2(); +var_dump($result2); ]]> @@ -172,7 +190,6 @@ $bar = &test(); // Inválido porque test() no devuelve una variable por refer ]]> &example.outputs; @@ -197,7 +214,7 @@ NULL +var_dump($unset_array); ]]> @@ -267,12 +284,11 @@ $unset_array[] = 'valor'; // No producirá ninguna advertencia. Ejemplo de una variable de ámbito global - + ]]> @@ -298,9 +314,10 @@ $a = 1; // ámbito global function test() { - echo $a; // La variable $a no está definida ya que se refiere a una versión local de $a + var_dump($a); // La variable $a no está definida ya que se refiere a una versión local de $a } -?> + +test(); ]]> @@ -348,7 +365,6 @@ function Suma() Suma(); echo $b; -?> ]]> &example.outputs; @@ -389,7 +405,6 @@ function Suma() Suma(); echo $b; -?> ]]> @@ -407,14 +422,13 @@ echo $b; Ejemplo que demuestra las superglobales y el ámbito - + ]]> @@ -446,10 +460,13 @@ function test_superglobal() function test() { $a = 0; - echo $a; + echo $a . PHP_EOL; $a++; } -?> + +test(); +test(); +test(); ]]> @@ -472,10 +489,13 @@ function test() function test() { static $a = 0; - echo $a; + echo $a . PHP_EOL; $a++; } -?> + +test(); +test(); +test(); ]]> @@ -503,13 +523,14 @@ function test() static $count = 0; $count++; - echo $count; + echo $count . PHP_EOL; if ($count < 10) { test(); } $count--; } -?> + +test(); ]]> @@ -523,7 +544,7 @@ function test() Declarando variables estáticas - + ]]> @@ -565,7 +585,6 @@ function exampleFunction($input) { // la variable estática no retendrá su valor. echo exampleFunction('A'); // Devolverá: Entrada: A, Contador: 1 echo exampleFunction('B'); // Devolverá: Entrada: B, Contador: 1 -?> ]]> @@ -601,7 +620,6 @@ var_dump(Foo::counter()); // int(1) var_dump(Foo::counter()); // int(2) var_dump(Bar::counter()); // int(3), antes de PHP 8.1.0 int(1) var_dump(Bar::counter()); // int(4), antes de PHP 8.1.0 int(2) -?> ]]> @@ -641,20 +659,19 @@ test_global_ref(); var_dump($obj); test_global_noref(); var_dump($obj); -?> ]]> - - &example.outputs; + &example.outputs; - + - + + Un comportamiento similar se aplica a static. Las @@ -706,12 +723,10 @@ $aun_obj1 = get_instance_ref(); echo "\n"; $obj2 = get_instance_noref(); $aun_obj2 = get_instance_noref(); -?> ]]> - - &example.outputs; - + &example.outputs; + - + + Este ejemplo demuestra que al asignar una referencia a una variable @@ -746,7 +762,7 @@ Objeto estático: object(stdClass)#3 (1) { +var_dump($a); ]]> @@ -762,8 +778,9 @@ $a = 'hola'; +var_dump($hola); ]]> @@ -779,8 +796,9 @@ $$a = 'mundo'; ]]> @@ -793,8 +811,9 @@ echo "$a ${$a}"; ]]> @@ -858,8 +877,6 @@ echo $foo->{$start . $end} . "\n"; $arr = 'arr'; echo $foo->{$arr[1]} . "\n"; echo $foo->{$arr}[1] . "\n"; - -?> ]]> &example.outputs; @@ -920,12 +937,11 @@ Soy B. Acceso a datos de un formulario HTML sencillo con POST - + ]]> @@ -960,7 +976,7 @@ echo $_REQUEST['username']; Variables de formulario más complejas - + - + +setcookie("MiCookie[foo]", 'Prueba 1', time()+3600); +setcookie("MiCookie[bar]", 'Prueba 2', time()+3600); ]]> @@ -1081,7 +1096,7 @@ if ($_POST) { Un ejemplo de <function>setcookie</function> - + ]]> @@ -1106,11 +1120,10 @@ setcookie("Carrito[$count]", $item, time()+3600); a un script. Sin embargo, hay que notar que el punto no es un carácter válido en el nombre de una variable PHP. Para conocer la razón, considere el siguiente ejemplo: - + ]]> Lo que el intérprete vé es el nombre de una variable $varname, seguido