Skip to content

Commit

Permalink
Add examples to match
Browse files Browse the repository at this point in the history
  • Loading branch information
Marqitos authored and julionc committed May 13, 2024
1 parent 5c2ec26 commit 2716a20
Showing 1 changed file with 81 additions and 22 deletions.
103 changes: 81 additions & 22 deletions language/control-structures/match.xml
Original file line number Diff line number Diff line change
Expand Up @@ -16,31 +16,90 @@
Las expresiones match están disponibles a partir de PHP 8.0.0.
</para>

<example>
<title>Estructura de una expresión <literal>match</literal></title>
<programlisting role="php">
<para>
<example>
<title>Estructura de una expresión <literal>match</literal></title>
<programlisting role="php">
<![CDATA[
<?php
$return_value = match (subject_expression) {
single_conditional_expression => return_expression,
conditional_expression1, conditional_expression2 => return_expression,
};
?>
]]>
</programlisting>

</example>
</para>

<para>
<example>
<title>Ejemplo básico de uso de <literal>match</literal></title>
<programlisting role="php">
<![CDATA[
<?php
$comida = 'pastel';
$valor_devuelto = match ($comida) {
'manzana' => 'Esta comida es una manzana',
'barra' => 'Esta comida es una barra',
'pastel' => 'Esta comida es un pastel',
};
var_dump($valor_devuelto);
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
<?php
$return_value = match (subject_expression) {
single_conditional_expression => return_expression,
conditional_expression1, conditional_expression2 => return_expression,
};
?>
string(24) "Esta comida es un pastel"
]]>
</programlisting>
</screen>
</example>
</para>

<note>
<simpara>
El resultado de una expresión <literal>match</literal> no necesita ser utilizado.
</simpara>
</note>
<note>
<simpara>
Una expresión <literal>match</literal> <emphasis>debe</emphasis>
terminar con un punto y coma <literal>;</literal>.
</simpara>
</note>
</example>
<para>
<example>
<title>Ejemplo de uso de <literal>match</literal> con operadores de comparación</title>
<programlisting role="php">
<![CDATA[
<?php
$age = 18;
$output = match (true) {
$age < 2 => 'Eres un bebé',
$age < 10 => 'Eres un niño',
$age < 18 => 'Eres un adolescente',
$age >= 18 => 'Eres mayor de edad',
$age < 40 => 'Eres un adulto joven',
$age >= 40 => 'Eres un adulto viejo'
};
var_dump($output);
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
string(18) "Eres mayor de edad"
]]>
</screen>
<note>
<simpara>
El resultado de una expresión <literal>match</literal> no necesita ser utilizado.
</simpara>
</note>
<note>
<simpara>
Una expresión <literal>match</literal> <emphasis>debe</emphasis>
terminar con un punto y coma <literal>;</literal>.
</simpara>
</note>
</example>
</para>

<para>
La expresión <literal>match</literal> es similar a una
Expand Down

0 comments on commit 2716a20

Please sign in to comment.