Maison > développement back-end > tutoriel php > 关于引用的问题

关于引用的问题

WBOY
Libérer: 2016-06-23 14:04:59
original
823 Les gens l'ont consulté

<?php$a = $_GET['a'];check($a);function check(&$val) {if(!preg_match('/^[a-z0-9]/', $val)) {die("request error");}}?>
Copier après la connexion

如果把function check(&$val) 写成 function check($val),这二者有什么区别?


回复讨论(解决方案)

这是我做的笔记,你可以看一下。
函数参数传递
解释:将函数实参列表传递到函数定义的实参列表中去,别想的太复杂,就一个简单东西术语话。
按数值进行传递:将实参中的数据或者变量复制一个副本到形参中去,形参在函数内改变,不影响实参的数据。
按地址进行传递:将实参中的变量的地址出传递到形参中去,形参在函数内改变,那么实参的数据也会改变。
格式是在形参前面加&.
下面是上面2个的比较

  <?php    $a=10;    $b=20;    function addone($s,$t)    //若是按数值传递,传递的是数值,实参和形参参数列表列表大的个数要相同,并且赋值时要一一对应。    //若是按地址赋值,则可以这样写    function addone(&$s,&$t)    {       $s=$s+1;       $t=$t+1;       echo "s=".$s."<br/-->";       echo "t=".$t."<br>";    }    addone($a,$b);    echo "a="."$a"."<br>";    echo "b="."$b"."<br>";    ?>
Copier après la connexion


改成
,使用的插件问题。

在你的代码中没有区别

PHP code?12345678910
如果把function check(&$val) 写成 function ch……
你的这段代码 没有区别 因为 你没有去操作$val这条数据

Étiquettes associées:
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