Maison  >  Article  >  développement back-end  >  Comment obtenir le nom d'un tableau en php

Comment obtenir le nom d'un tableau en php

PHPz
PHPzoriginal
2023-04-18 09:48:29647parcourir

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
  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
  }
}
  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

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!

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