Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 21 additions & 6 deletions language/variables.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 64007e9f6b23f70d8874be11c4eb9d45556b742f Maintainer: lacatoire Status: ready -->
<!-- EN-Revision: 0e72b54621406de1c5642334258462725ca99a29 Maintainer: lacatoire Status: ready -->
<!-- Reviewed: no Maintainer: andresdzphp -->
<chapter xml:id="language.variables" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink"
annotations="interactive">
Expand All @@ -25,10 +24,26 @@

<note>
<simpara>
PHP no soporta Unicode en el nombre de las variables, sin embargo, algunas codificaciones
de caracteres (como UTF-8) codifican caracteres de tal manera que todos los bytes
de un carácter multibyte están dentro del rango permitido, convirtiéndolo así
en un nombre de variable válido.
Los nombres de variables se comparan byte a byte, no carácter a carácter.
PHP no interpreta ni valida la codificación de los bytes del 128 al 255, y
dos nombres designan la misma variable únicamente si sus bytes son
idénticos.
</simpara>
<simpara>
Una consecuencia es que los nombres escritos en UTF-8 funcionan, porque
cada byte de una secuencia multibyte UTF-8 se sitúa dentro del rango
aceptado. Lo mismo ocurre con cualquier codificación cuyos bytes no ASCII
se sitúen todos en ese rango, así como con secuencias de bytes que no
constituyen un texto válido en ninguna codificación. Las codificaciones
que utilizan bytes inferiores a 128 dentro de una secuencia multibyte,
como Shift-JIS o UTF-16, no funcionan.
</simpara>
<simpara>
Otra es que dos nombres que se muestran de forma idéntica pueden ser
distintos. <literal>ä</literal> codificado como U+00E4 y
<literal>a</literal> seguido de la diéresis combinante U+0308 son
variables diferentes, al igual que un nombre con y sin un espacio
indivisible U+00A0 final.
</simpara>
</note>

Expand Down