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 = 'hello'; ?>
<?php $$a = 'world'; ?>
<?php echo "$a ${$a}"; ?>
<?php echo "$a $hello"; ?>
Exemple n°1 Exemple d'attribut variable
<?php class foo { var $bar = 'I am bar.'; var $arr = array('I am A.', 'I am B.', 'I am C.'); var $r = 'I am r.'; } $foo = new foo(); $bar = 'bar'; $baz = array('foo', 'bar', 'baz', 'quux'); echo $foo->$bar . "\n"; echo $foo->$baz[1] . "\n"; $start = 'b'; $end = 'ar'; echo $foo->{$start . $end} . "\n"; $arr = 'arr'; echo $foo->$arr[1] . "\n"; echo $foo->{$arr}[1] . "\n"; ?>
I am bar. I am bar. I am bar. I am r. I am B.
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 ...// ?>
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"; ?>
John Doe PHP.net John Doe PHP.net
/** *计算两个数的和,并返回计算的结果 * @param number $a * @param number $b * @return number */ function sum($a, $b){ return $a + $b; }
/** *计算两个或三个数的和,并返回计算的结果 * @param number $a * @param number $b * @return number $c 该参数可以不传入值,默认为0 */ function sum($a, $b, $c = 0){ return $a + $b + $c; }
/** *计算任意多个数的和,函数参数params必须为array类型 * @param array params */ function sum($params){ $total = 0; foreach ($params as $i){ $total += $i; } return $total; }
$age = 18; var_dump($age); //显示变量$age的详细信息
$name = '张三'; $age = 18; $gender = true; var_dump($name, $age, $gender);
/** *计算任意多个数的和,并返回计算后的结果 */ 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
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!/**
*计算任意多个数的和,并返回计算后的结果
*/
function sum($a, $b){
return array_sum(func_get_args());
}