当前位置:Gxlcms > PHP教程 > php变量引用赋值一些知识

php变量引用赋值一些知识

时间:2021-07-01 10:21:17 帮助过:15人阅读

手册上的解释是:简单的引用(换言之,“成为其别名” 或者 “指向”)了原始变量。改动新的变量将影响到原始变量,反之亦然。
我理解决引用相当一个人取了两个名字,无论叫个名字都是这个人。
以下两例子结果都在一样的。删除或修改都会影响到另外一个变量的值。

  1. <code><!--?php
  2. <span-->$foo = <span>'Bob'</span>; <span>//</span> 将 <span>'Bob'</span> 赋给 <span>$foo</span><span>$bar</span> = &<span>$foo</span>; <span>//</span> 通过 <span>$bar</span> 引用 <span>$foo</span><span>$bar</span> = <span>"My name is $bar"</span>; <span>//</span> 修改 <span>$bar</span> 变量
  3. echo <span>$bar</span>;
  4. echo <span>$foo</span>; <span>//</span><span>$foo</span> 的值也被修改
  5. ?>
  6. <!--?php
  7. <span-->$foo = <span>'Bob'</span>; <span>//</span> 将 <span>'Bob'</span> 赋给 <span>$foo</span><span>$bar</span> = &<span>$foo</span>; <span>//</span> 通过 <span>$bar</span> 引用 <span>$foo</span><span>$foo</span> = <span>"My name is $bar"</span>; <span>//</span> 修改 <span>$foo</span> 变量
  8. echo <span>$bar</span>,<span>"\n"</span>;
  9. echo <span>$foo</span>; <span>//</span><span>$foo</span> 的值也被修改
  10. ?></code>

删除引用时,无论是删除ba结果都没会影响到另一个变量。只是相当于删除一个名称,不会影响到变量本身。

  1. <code><!--?php
  2. <span-->$a = <span>0</span>;
  3. <span>$b</span> = &<span>$a</span>;
  4. // <span>echo</span><span>$a</span>; //<span>0</span>
  5. // <span>unset</span>(<span>$b</span>); // <span>unset</span><span>$b</span><span>unset</span>(<span>$a</span>); // <span>unset</span><span>$b</span><span>echo</span><span>$b</span>; //<span>0</span> it<span>'s OK</span></code>

当一个变量先后引用两个变量时,把第一次引用的变量,修改成第二次引用的变量。第一次引用没有关系,互相不会影响。

  1. <code><span><span><!--?php</span--><span>$a</span> = <span>"hihaha"</span>;
  2. <span>$b</span> = &<span>$a</span>;
  3. <span>$c</span> = <span>"eita"</span>;
  4. <span>$b</span> = &<span>$c</span>;
  5. <span>echo</span><span>$b</span>; <span>// shows "hihaha"</span></span></span></code>

函数的传址调用传址调用,执行完,相当于直接改变引用的变量。这里bb的变量内容所处的内存地址,通过在函数里改变ab的值了

  1. <code><span><span>function</span><span>test</span><span>( &<span>$a</span> )</span>
  2. {</span><span>$a</span> += <span>10</span>;
  3. <span>return</span><span>$a</span>;
  4. }
  5. <span>$b</span> = <span>1</span>;
  6. test(<span>$b</span>);
  7. <span>echo</span><span>$b</span>;<span>//</span></code>
输出11

函数的引用返回

  1. <code>function &test2()
  2. {
  3. <span>$b</span> = <span>0</span>;<span>//</span>申明一个静态变量
  4. <span>$b</span> = <span>$b</span>+<span>1</span>;
  5. <span>return</span><span>$b</span>;
  6. }
  7. <span>$a</span> = test2();<span>//</span>这条语句会</code>
输出 $b的值 为1 var_dump($a); $a = test2();//这条语句会输出 $b的值 为2 var_dump($a); $a = & test2();//这条语句会输出 $b的值 为3 var_dump($a); $a = 5; $a = test2();//这条语句会输出 $b的值 为6 var_dump($a);

').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($('
  • ').text(i)); }; $numbering.fadeIn(1700); }); });

    以上就介绍了 php变量引用赋值一些知识,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

  • 人气教程排行