value,...)", où la clé du paramètre peut être un entier ou une chaîne, et la valeur du paramètre peut être n'importe quel type de valeur."/> value,...)", où la clé du paramètre peut être un entier ou une chaîne, et la valeur du paramètre peut être n'importe quel type de valeur.">

Maison >développement back-end >Problème PHP >Comment écrire un tableau php

Comment écrire un tableau php

藏色散人
藏色散人original
2020-11-18 09:14:592237parcourir

La méthode d'écriture du tableau PHP est "array(key=>value,...)", où la clé du paramètre peut être un entier ou une chaîne, et la valeur du paramètre peut être n'importe quel type de valeur .

Comment écrire un tableau php

L'environnement d'exploitation de ce tutoriel : système Windows 10, php5.4, cet article est applicable à toutes les marques d'ordinateurs.

Recommandé : "Tutoriel vidéo PHP"

Array Array

Le tableau en PHP est en fait une carte ordonnée. Une carte est un type qui associe des valeurs à des clés. Ce type est optimisé de plusieurs manières, il peut donc être traité comme un véritable tableau, ou une liste (vecteur), une table de hachage (qui est une implémentation de map), un dictionnaire, un ensemble, une pile, une file d'attente et bien d'autres possibilités. Étant donné que la valeur d'un élément du tableau peut également être un autre tableau, les structures arborescentes et les tableaux multidimensionnels sont également autorisés.

Expliquer ces structures dépasse le cadre de ce manuel, mais au moins un exemple sera fourni pour chaque structure. Pour plus d’informations sur ces structures, il est recommandé de consulter d’autres ouvrages sur ce vaste sujet.

Syntaxe

Définir un tableau array()

Vous pouvez utiliser la structure du langage array() pour créer un nouveau tableau. Il accepte n’importe quel nombre de paires clé => valeur séparées par des virgules.

array(  key =>  value
     , ...
     )
// 键(key)可是是一个整数 integer 或字符串 string
// 值(value)可以是任意类型的值

La virgule après le dernier élément du tableau peut être omise. Habituellement utilisé dans les définitions de tableaux sur une seule ligne, tels que array(1, 2) au lieu de array(1, 2, ). Il est courant de laisser la dernière virgule dans les définitions de tableaux multilignes pour faciliter l'ajout d'une nouvelle cellule.

Depuis la version 5.4, il est possible d'utiliser une syntaxe de définition de tableau courte, en utilisant [] au lieu de array().

Exemple n°1 Un simple tableau

<?php
$array = array(
    "foo" => "bar",
    "bar" => "foo",
);
// 自 PHP 5.4 起
$array = [
    "foo" => "bar",
    "bar" => "foo",
];
?>

key peut être un entier ou une chaîne. la valeur peut être de n’importe quel type.

De plus, key aura la coercition suivante :

Les chaînes contenant des valeurs entières légales seront converties en entiers. Par exemple, le nom de clé « 8 » sera en réalité stocké sous la forme 8. Mais "08" ne sera pas converti car il ne s'agit pas d'une valeur décimale légale.

Les nombres à virgule flottante seront également convertis en nombres entiers, ce qui signifie que leurs parties décimales seront arrondies. Par exemple, le nom de clé 8.7 sera en réalité stocké sous la forme 8.

Les valeurs booléennes seront également converties en entiers. Autrement dit, le nom de clé true sera en fait stocké sous la valeur 1 et le nom de clé false sera stocké sous la valeur 0.

Null sera converti en une chaîne vide, c'est-à-dire que le nom de clé null sera en fait stocké sous "".

Les tableaux et les objets ne peuvent pas être utilisés comme clés. Insister pour cela entraînera un avertissement : Type de décalage illégal.

Si plusieurs unités utilisent le même nom de clé dans la définition du tableau, seule la dernière sera utilisée et les précédentes seront écrasées.

Exemple n°2 Exemple de coercition et d'écrasement de type

<?php
$array = array(
    1    => "a",
    "1"  => "b",
    1.5  => "c",
    true => "d",
);
var_dump($array);
?>
以上例程会输出:
array(1) {
  [1]=>
  string(1) "d"
}

Dans l'exemple ci-dessus, tous les noms de clés sont forcés à 1, puis chaque nouvelle unité écrasera la valeur précédente, et enfin le reste Il y a un seul "d".

Les tableaux PHP peuvent contenir à la fois des noms de clés entiers et des noms de chaîne, car PHP ne fait pas réellement de distinction entre les tableaux indexés et les tableaux associatifs.

Si aucune clé n'est spécifiée pour la valeur donnée, la valeur d'index entière la plus grande actuelle est prise et le nouveau nom de clé sera cette valeur plus un. Si le nom de clé spécifié a déjà une valeur, la valeur sera écrasée.

Exemple n°3 Mélanger des noms de clés entières et de chaîne

<?php
$array = array(
    "foo" => "bar",
    "bar" => "foo",
    100   => -100,
    -100  => 100,
);
var_dump($array);
?>
以上例程会输出:
array(4) {
  ["foo"]=>
  string(3) "bar"
  ["bar"]=>
  string(3) "foo"
  [100]=>
  int(-100)
  [-100]=>
  int(100)
}

la clé est facultative. Si cela n’est pas spécifié, PHP utilisera automatiquement la plus grande clé entière précédemment utilisée plus 1 comme nouvelle clé.

Exemple n°4 Tableau d'index sans nom de clé

<?php
$array = array("foo", "bar", "hallo", "world");
var_dump($array);
?>
以上例程会输出:
array(4) {
  [0]=>
  string(3) "foo"
  [1]=>
  string(3) "bar"
  [2]=>
  string(5) "hallo"
  [3]=>
  string(5) "world"
}

Vous pouvez également spécifier des noms de clé uniquement pour certaines cellules et laisser d'autres vides :

Exemple n°5 uniquement pour certaines unités Le unit spécifie le nom de la clé

<?php
$array = array(
         "a",
         "b",
    6 => "c",
         "d",
);
var_dump($array);
?>
以上例程会输出:
array(4) {
  [0]=>
  string(1) "a"
  [1]=>
  string(1) "b"
  [6]=>
  string(1) "c"
  [7]=>
  string(1) "d"
}

et vous pouvez voir que la dernière valeur "d" se voit automatiquement attribuer le nom de la clé 7. En effet, la clé entière la plus grande précédente était 6.

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!

Déclaration:
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