Maison développement back-end tutoriel php Explication détaillée des exemples de variables variables en php

Explication détaillée des exemples de variables variables en php

Jun 20, 2017 am 09:38 AM
php 变量 variable

Variable variable est une variable dont le nom peut être défini et utilisé dynamiquement. Le formulaire de syntaxe est une syntaxe spéciale de PHP, qui est rare dans d'autres langages. Cet article partagera avec vous un résumé des variables variables php Les amis intéressés par la connaissance des variables variables php peuvent apprendre ensemble <.>

Ce qu'on appelle variable variable signifie que le nom de variable d'une variable peut être défini et utilisé dynamiquement. La forme syntaxique est la syntaxe spéciale de PHP, ce qui est rare dans d'autres langages

Parfois, il est très pratique d'utiliser des noms de variables variables. Autrement dit, le nom d'une variable peut être défini et utilisé de manière dynamique. Une variable ordinaire est définie par déclaration, par exemple :

<?php
$a = &#39;hello&#39;;
?>
Copier après la connexion
Une variable variable obtient la valeur d'une variable ordinaire comme nom de variable de la variable variable. Dans l'exemple ci-dessus, hello peut être utilisé comme variable variable après avoir utilisé deux signes dollar ($). Par exemple :

<?php
$$a = &#39;world&#39;;
?>
Copier après la connexion
A ce moment, deux variables sont définies : le contenu de $a est "hello" et le contenu de $hello est "world". Par conséquent, l'instruction suivante :

<?php
echo "$a ${$a}";
?>
Copier après la connexion
génère exactement le même résultat que l'instruction suivante :

<?php
echo "$a $hello";
?>
Copier après la connexion
Elles génèrent toutes les deux : hello world.

Pour utiliser des variables mutables avec des tableaux, une ambiguïté doit être résolue. C'est lors de l'écriture de $$a[1], l'analyseur doit savoir s'il veut $a[1] comme variable, ou s'il veut $$a comme variable et extrait la variable avec la valeur d'index [1]. La syntaxe pour résoudre ce problème consiste à utiliser ${$a[1]} pour le premier cas et ${$a}[1] pour le second cas.

Les propriétés de classe sont également accessibles via des noms de propriétés mutables. Les noms de propriétés mutables seront résolus dans le cadre de l’appel. Par exemple, pour l'expression $foo->$bar, $bar sera analysé dans la portée locale et sa valeur sera utilisée comme nom de propriété de $foo. La même chose est vraie pour $bar lorsqu'il s'agit d'une cellule de tableau.

Vous pouvez également utiliser des accolades pour délimiter clairement les noms d'attributs. Très utile lorsque la propriété est dans un tableau, ou que le nom de la propriété contient plusieurs parties ou que le nom de la propriété contient des caractères illégaux (par exemple de json_decode() ou SimpleXML).

Exemple n°1 Exemple d'attribut variable

<?php
class foo {
  var $bar = &#39;I am bar.&#39;;
  var $arr = array(&#39;I am A.&#39;, &#39;I am B.&#39;, &#39;I am C.&#39;);
  var $r  = &#39;I am r.&#39;;
}
$foo = new foo();
$bar = &#39;bar&#39;;
$baz = array(&#39;foo&#39;, &#39;bar&#39;, &#39;baz&#39;, &#39;quux&#39;);
echo $foo->$bar . "\n";
echo $foo->$baz[1] . "\n";
$start = &#39;b&#39;;
$end  = &#39;ar&#39;;
echo $foo->{$start . $end} . "\n";
$arr = &#39;arr&#39;;
echo $foo->$arr[1] . "\n";
echo $foo->{$arr}[1] . "\n";
?>
Copier après la connexion
La routine ci-dessus affichera :

I am bar.
I am bar.
I am bar.
I am r.
I am B.
Copier après la connexion

Exemple n°2 Oui Exemple d'attributs de variable

<?php
 //You can even add more Dollar Signs
 $Bar = "a";
 $Foo = "Bar";
 $World = "Foo";
 $Hello = "World";
 $a = "Hello";
 $a; //Returns Hello
 $$a; //Returns World
 $$$a; //Returns Foo
 $$$$a; //Returns Bar
 $$$$$a; //Returns a
 $$$$$$a; //Returns Hello
 $$$$$$$a; //Returns World
 //... and so on ...//
?>
Copier après la connexion

Exemple n°3 Exemple d'attributs de variable

<?php
// Given these variables ...
$nameTypes  = array("first", "last", "company");
$name_first  = "John";
$name_last  = "Doe";
$name_company = "PHP.net";
// Then this loop is ...
foreach($nameTypes as $type)
 print ${"name_$type"} . "\n";
// ... equivalent to this print statement.
print "$name_first\n$name_last\n$name_company\n";
?>
Copier après la connexion
La routine ci-dessus affichera :

John
Doe
PHP.net
John
Doe
PHP.net
Copier après la connexion
Tout d'abord, nous devons écrire une fonction PHP pour calculer la somme de deux nombres, qui peut s'écrire comme suit :

/**
 *计算两个数的和,并返回计算的结果
 * @param number $a
 * @param number $b
 * @return number
 */
function sum($a, $b){
  return $a + $b;
}
Copier après la connexion
De même, si nous devons calculer la somme de trois nombres, cela peut s'écrire comme suit :

/**
 *计算两个或三个数的和,并返回计算的结果
 * @param number $a
 * @param number $b
 * @return number $c 该参数可以不传入值,默认为0
 */
function sum($a, $b, $c = 0){
  return $a + $b + $c;
}
Copier après la connexion
À ce stade, si nous devons calculer la somme d'un nombre quelconque, alors comment devons-nous écrire une fonction PHP ?

Bien sûr, vous pouvez envisager d'utiliser un tableau comme paramètre passé de la fonction pour réaliser une telle fonction :

/**
 *计算任意多个数的和,函数参数params必须为array类型
 * @param array params
 */
function sum($params){
  $total = 0;
  foreach ($params as $i){
    $total += $i;
  }
  return $total;
}
Copier après la connexion
Eh bien, il n'y a en effet rien de mal à cette approche, car dans

Paramètres variables Au cours du processus de développement du programme avant la naissance de 🎜>, lorsqu'un certain nombre de paramètres devaient être transmis, des tableaux ou d'autres collections similaires étaient utilisés pour les représenter. Cependant, ce type de transmission ne semble-t-il pas assez clair et intuitif ? En tant que programmeur PHP, vous devez savoir qu'il existe une fonction var_dump() en PHP pour afficher des informations détaillées sur les variables, par exemple :

$age = 18;
var_dump($age); //显示变量$age的详细信息
Copier après la connexion
Lorsque nous avons besoin d'afficher des informations sur plusieurs variables, nous pouvons également Utilisez-le comme ceci :

$name = &#39;张三&#39;;
$age = 18;
$gender = true;
var_dump($name, $age, $gender);
Copier après la connexion
Nous savons que var_dump() peut recevoir n'importe quel nombre de variables en même temps et n'a pas besoin d'être transmis sous la forme d'un tableau. Cette façon de passer des paramètres. est plus intuitif et élégant. Cette forme de transmission d'un nombre quelconque de paramètres est appelée paramètres variables. Bien sûr, notre fonction sum() peut également être implémentée de cette manière :

/**
 *计算任意多个数的和,并返回计算后的结果
 */
function sum(){ //这里的括号中没有定义任何参数
  $total = 0;
  //使用func_get_args()来获取当前函数的所有实际传递参数,返回值为array类型
  $varArray = func_get_args();
  foreach ($varArray as $var){
    $total += $var;
  }
  return $total;
}
/*****下面是调用示例*****/
echo sum(1, 3, 5); //计算1+3+5
echo sum(1, 2); //计算1+2
echo sum(1, 2, 3, 4);  //计算1+2+3+4
Copier après la connexion
Comme le montre l'exemple ci-dessus, utilisez simplement la fonction intégrée PHP

func_get_args() dans la fonction actuelle, nous pouvons obtenir le tableau de paramètres réel transmis lors de l'appel de la fonction, et il nous suffit ensuite de traiter le tableau de paramètres.

Remarque 1 : 1. Si aucun paramètre n'est transmis lors de l'appel, alors la fonction func_get_args() renvoie toujours un type de tableau, mais un tableau vide (le tableau ne contient aucun élément ). 2.func_get_args() ne peut être appelé qu'au sein d'une fonction, sinon un message d'avertissement sera affiché. 3. La fonction func_get_args() peut recevoir un paramètre d'index pour obtenir le paramètre à l'index spécifié dans le tableau de paramètres. Par exemple, si vous souhaitez que le premier argument soit transmis, vous pouvez appeler : func_get_args(1).

4. De plus, vous pouvez également appeler func_num_args() dans la fonction, qui peut renvoyer le nombre de paramètres passés dans l'appel de fonction en cours.

Remarque 2 : L'implémentation des paramètres variables PHP est très similaire à l'implémentation des paramètres variables JavaScript. PHP utilise la fonction intégrée func_get_args() pour l'implémenter, et JavaScript<🎜. >utilise la fonctionArguments variables intégrés pour y parvenir.

备注3:在最后的sum()函数代码中,sum()函数没有定义任何形式参数,所以调用该函数时可以传入0、1、2~n个参数的。不过,在一般情况下,计算和至少需要两个数来参与计算。因此,你可以在sum()函数的定义处,定义两个形式参数,例如:sum($a, $b),其他代码保持不变。这样,在调用该函数时,就必须传入至少两个参数。

备注4:由于PHP已经内置了计算数组中所有元素的和的函数array_sum(),因此上述代码的最终版本如下:


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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Guide d'installation et de mise à niveau de PHP 8.4 pour Ubuntu et Debian Guide d'installation et de mise à niveau de PHP 8.4 pour Ubuntu et Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 apporte plusieurs nouvelles fonctionnalités, améliorations de sécurité et de performances avec une bonne quantité de dépréciations et de suppressions de fonctionnalités. Ce guide explique comment installer PHP 8.4 ou mettre à niveau vers PHP 8.4 sur Ubuntu, Debian ou leurs dérivés. Bien qu'il soit possible de compiler PHP à partir des sources, son installation à partir d'un référentiel APT comme expliqué ci-dessous est souvent plus rapide et plus sécurisée car ces référentiels fourniront les dernières corrections de bogues et mises à jour de sécurité à l'avenir.

7 fonctions PHP que je regrette de ne pas connaître auparavant 7 fonctions PHP que je regrette de ne pas connaître auparavant Nov 13, 2024 am 09:42 AM

Si vous êtes un développeur PHP expérimenté, vous aurez peut-être le sentiment d'y être déjà allé et de l'avoir déjà fait. Vous avez développé un nombre important d'applications, débogué des millions de lignes de code et peaufiné de nombreux scripts pour réaliser des opérations.

Comment configurer Visual Studio Code (VS Code) pour le développement PHP Comment configurer Visual Studio Code (VS Code) pour le développement PHP Dec 20, 2024 am 11:31 AM

Visual Studio Code, également connu sous le nom de VS Code, est un éditeur de code source gratuit – ou environnement de développement intégré (IDE) – disponible pour tous les principaux systèmes d'exploitation. Avec une large collection d'extensions pour de nombreux langages de programmation, VS Code peut être c

Expliquez les jetons Web JSON (JWT) et leur cas d'utilisation dans les API PHP. Expliquez les jetons Web JSON (JWT) et leur cas d'utilisation dans les API PHP. Apr 05, 2025 am 12:04 AM

JWT est une norme ouverte basée sur JSON, utilisée pour transmettre en toute sécurité des informations entre les parties, principalement pour l'authentification de l'identité et l'échange d'informations. 1. JWT se compose de trois parties: en-tête, charge utile et signature. 2. Le principe de travail de JWT comprend trois étapes: la génération de JWT, la vérification de la charge utile JWT et l'analyse. 3. Lorsque vous utilisez JWT pour l'authentification en PHP, JWT peut être généré et vérifié, et les informations sur le rôle et l'autorisation des utilisateurs peuvent être incluses dans l'utilisation avancée. 4. Les erreurs courantes incluent une défaillance de vérification de signature, l'expiration des jetons et la charge utile surdimensionnée. Les compétences de débogage incluent l'utilisation des outils de débogage et de l'exploitation forestière. 5. L'optimisation des performances et les meilleures pratiques incluent l'utilisation des algorithmes de signature appropriés, la définition des périodes de validité raisonnablement,

Programme PHP pour compter les voyelles dans une chaîne Programme PHP pour compter les voyelles dans une chaîne Feb 07, 2025 pm 12:12 PM

Une chaîne est une séquence de caractères, y compris des lettres, des nombres et des symboles. Ce tutoriel apprendra à calculer le nombre de voyelles dans une chaîne donnée en PHP en utilisant différentes méthodes. Les voyelles en anglais sont a, e, i, o, u, et elles peuvent être en majuscules ou en minuscules. Qu'est-ce qu'une voyelle? Les voyelles sont des caractères alphabétiques qui représentent une prononciation spécifique. Il y a cinq voyelles en anglais, y compris les majuscules et les minuscules: a, e, i, o, u Exemple 1 Entrée: String = "TutorialSpoint" Sortie: 6 expliquer Les voyelles dans la chaîne "TutorialSpoint" sont u, o, i, a, o, i. Il y a 6 yuans au total

Comment analysez-vous et traitez-vous HTML / XML dans PHP? Comment analysez-vous et traitez-vous HTML / XML dans PHP? Feb 07, 2025 am 11:57 AM

Ce tutoriel montre comment traiter efficacement les documents XML à l'aide de PHP. XML (Language de balisage extensible) est un langage de balisage basé sur le texte polyvalent conçu à la fois pour la lisibilité humaine et l'analyse de la machine. Il est couramment utilisé pour le stockage de données et

Expliquez la liaison statique tardive en PHP (statique: :). Expliquez la liaison statique tardive en PHP (statique: :). Apr 03, 2025 am 12:04 AM

Liaison statique (statique: :) ​​implémente la liaison statique tardive (LSB) dans PHP, permettant à des classes d'appel d'être référencées dans des contextes statiques plutôt que de définir des classes. 1) Le processus d'analyse est effectué au moment de l'exécution, 2) Recherchez la classe d'appel dans la relation de succession, 3) il peut apporter des frais généraux de performance.

Quelles sont les méthodes PHP Magic (__construct, __ destruct, __ call, __get, __set, etc.) et fournir des cas d'utilisation? Quelles sont les méthodes PHP Magic (__construct, __ destruct, __ call, __get, __set, etc.) et fournir des cas d'utilisation? Apr 03, 2025 am 12:03 AM

Quelles sont les méthodes magiques de PHP? Les méthodes magiques de PHP incluent: 1. \ _ \ _ Construct, utilisé pour initialiser les objets; 2. \ _ \ _ Destruct, utilisé pour nettoyer les ressources; 3. \ _ \ _ Appel, gérer les appels de méthode inexistants; 4. \ _ \ _ GET, Implémentez l'accès à l'attribut dynamique; 5. \ _ \ _ SET, Implémentez les paramètres d'attribut dynamique. Ces méthodes sont automatiquement appelées dans certaines situations, améliorant la flexibilité et l'efficacité du code.

See all articles