Pourquoi les tableaux PHP avec les clés 07 et 08 présentent-ils un comportement inattendu ?

Susan Sarandon
Libérer: 2024-10-20 19:34:02
original
979 Les gens l'ont consulté

Why Do PHP Arrays with Keys 07 and 08 Exhibit Unexpected Behavior?

Anomalies de tableau PHP avec les clés 07 et 08

Rencontre d'un comportement de tableau inhabituel avec les clés 07 et 08 dans un tableau PHP défini comme suit :

<code class="php">$months[01] = 'January';
$months[02] = 'February';</code>
Copier après la connexion

Lors de la tentative d'impression du tableau à l'aide de print_r($months), les clés 07 et 08 sont manquantes et September apparaît avec une clé de 0 à la place.

Raison et solution

L'irrégularité survient parce que les touches numériques commençant par 0 sont interprétées comme des valeurs octales en PHP. Cela signifie que 07 est analysé comme l'entier 7 et 08 est analysé comme 8. Pour éviter ce problème, supprimez simplement les 0 en tête des clés.

<code class="php">$months[7] = 'July';
$months[8] = 'August';</code>
Copier après la connexion

Cela garantira que les clés sont correctement reconnues. et le tableau se comporte comme prévu.

Exemple

Le code suivant montre la différence entre l'utilisation de 0 non significatifs et non :

<code class="php">echo 07; // prints 7
echo 010; // prints 8
echo 7; // prints 7
echo 10; // prints 10</code>
Copier après la connexion

Notes supplémentaires

Ce comportement est couramment utilisé lors de la spécification des autorisations de fichiers UNIX :

<code class="php">chmod("myfile", 0660);</code>
Copier après la connexion

Cependant, il est rarement nécessaire à d'autres fins. Le manuel PHP fournit plus de détails sur les clés numériques et les valeurs octales.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!