Maison > développement back-end > Problème PHP > Comment obtenir le nom d'un tableau en php

Comment obtenir le nom d'un tableau en php

PHPz
Libérer: 2023-04-18 09:51:53
original
672 Les gens l'ont consulté

En PHP, vous pouvez obtenir le nom d'un tableau des manières suivantes.

  1. Utiliser le nom de la variable comme nom du tableau

Lorsque vous utilisez le nom de la variable comme nom du tableau, vous pouvez utiliser directement le nom de la variable pour obtenir le nom du tableau. Par exemple :

$array = array('apple', 'banana', 'orange');
$name = 'array';
echo $name; // 输出:array
Copier après la connexion
  1. Utilisez la fonction get_defined_vars() pour obtenir une liste de toutes les variables

La fonction get_defined_vars() peut obtenir une liste de toutes les variables définies dans la portée actuelle, y compris les variables de tableau. Vous pouvez ensuite parcourir la liste, vérifier si chaque variable est un tableau et, si tel est le cas, obtenir le nom du tableau. Par exemple :

$array = array('apple', 'banana', 'orange');
$vars = get_defined_vars();
foreach ($vars as $name => $value) {
  if (is_array($value) && $value === $array) {
    echo $name; // 输出:array
  }
}
Copier après la connexion
  1. Utilisez la fonction debug_backtrace() pour obtenir des informations sur la pile d'appels de fonction

La fonction debug_backtrace() peut obtenir des informations sur la pile d'appels de fonction, qui incluent le nom de la fonction et les paramètres de la fonction actuelle. Vous pouvez parcourir la pile d'appels de fonction et vérifier si le paramètre de chaque fonction est un tableau et si la valeur du tableau est égale au tableau cible. Si tel est le cas, obtenez le nom du tableau. Par exemple :

function getArrayName($array) {
  $trace = debug_backtrace();
  foreach ($trace as $item) {
    if (isset($item['args'][0]) && is_array($item['args'][0]) && $item['args'][0] === $array) {
      return $item['function'];
    }
  }
  return null;
}

$array = array('apple', 'banana', 'orange');
$name = getArrayName($array);
echo $name; // 输出:getArrayName
Copier après la connexion

Quelle que soit la méthode, vous ne pouvez obtenir que le nom du tableau défini dans la portée actuelle. Si le tableau est défini dans d'autres portées, vous ne pouvez pas obtenir son nom directement.

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.cn
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal