当前位置: 首页 > 编程笔记 >

PHP 通过参考

傅宏恺
2023-03-14
本文向大家介绍PHP 通过参考,包括了PHP 通过参考的使用技巧和注意事项,需要的朋友参考一下

示例

这使您可以通过引用允许您修改原始变量的函数或元素来传递变量。

通过引用传递不仅限于变量,还可以通过引用传递以下内容:

  • 新声明,例如 foo(new SomeClass)

  • 从函数返回的引用

数组

“按引用传递”的常见用法是修改数组中的初始值,而不会涉及创建新数组或乱丢您的命名空间的程度。通过引用传递就像在变量前面加上前缀&=>一样简单&$myElement。

下面是利用数组中的元素并将其初始值加1的示例。

$arr = array(1, 2, 3, 4, 5);

foreach($arr as &$num) {
    $num++;
}

现在,当您利用中的任何元素时$arr,原始元素将随着引用的增加而更新。您可以通过以下方式对此进行验证:

print_r($arr);

注意

在循环中利用按引用传递时,应注意。在上述循环结束时,$num仍保留对数组最后一个元素的引用。在循环后分配它将最终处理最后一个数组元素!您可以unset()通过在循环后对其进行设置来确保不会发生这种情况:

$myArray = array(1, 2, 3, 4, 5);

foreach($myArray as &$num) {
   $num++;
}
unset($num);

以上内容可确保您不会遇到任何问题。在StackOverflow上的此问题中提供了与此相关的问题示例。

职能

通过引用传递的另一种常见用法是在函数内部。修改原始变量非常简单:

$var = 5;
// 定义
function add(&$var) {
    $var++;
}
// 呼叫
add($var);

可以通过echo'ing the original variable来验证。

echo $var;

有关功能的各种限制,如下PHP文档所述:

注意:函数调用上没有参考符号-仅在函数定义上。仅函数定义就足以正确地通过引用传递参数。从PHP 5.3.0开始,您将得到一条警告,指出在foo(&$a);中使用&时,“调用时传递引用”已被弃用。从PHP 5.4.0开始,调用时传递引用被删除,因此使用它会引发致命错误。

 类似资料:
  • 本文向大家介绍PHP通过引用传递参数用法分析,包括了PHP通过引用传递参数用法分析的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHP通过引用传递参数用法。分享给大家供大家参考,具体如下: 先看一个手册上的示例: 输出: 如果没有这个&符号, 输出: 更多关于PHP相关内容感兴趣的读者可查看本站专题:《php常用函数与技巧总结》、《php面向对象程序设计入门教程》、《PHP数学运算技巧总

  • 问题内容: 我只需要这个不太了解的PHP错误的帮助: 致命错误:在第13行的/web/stud/openup/inactivatesession.php中无法通过引用传递参数2 这个错误是什么意思?如何解决此错误? 问题答案: 该错误意味着第二个参数应该是 对变量 的 引用 。 由于您不是递给 变量 而是 值0 的 整数 ,因此它会产生上述错误。 为了避免这种情况,请执行以下操作: 如果您想了解发

  • 问题内容: 我有一个php表单,该表单具有已知的列数(例如,顶部直径,底部直径,织物,颜色,数量),但是行数未知,因为用户可以根据需要添加行。 我发现了如何采用每个字段(列)并将其放入各自的数组中。 因此,我最终在HTML中得到的是: 我现在想做的是将所有行和列都放入多维数组,然后将其内容通过电子邮件发送给客户端(最好在格式良好的表中)。我还无法真正理解如何将所有这些输入和选择组合到一个不错的数组

  • 问题内容: 我刚编写的简单php脚本有一些非常奇怪的行为。我将其减少到重新创建该错误所需的最低限度: 输出: 这是应该发生的错误还是某些真正奇怪的行为? 问题答案: 在第一个foreach循环之后,仍然是对的引用,该值也被所使用。因此,第二个循环中的每个foreach调用(不是通过引用调用)都会替换该值,并因此替换为新值。 因此,循环1的值变成了‘foo’。 循环2,值和变为,即“ bar”。 循

  • 问题内容: 我正在使用PhantomJS page.evaluate()进行抓取。我的问题是我传递到Webkit页面的代码是沙盒化的,因此无法访问我的主要幻象脚本的变量。这使得很难使抓取代码通用。 如何将参数推入页面? 问题答案: 我遇到了确切的问题。可以使用一些技巧,因为它也可以接受字符串。 有几种方法可以执行此操作,但是我使用了一个称为的包装器,该包装器接受其他参数以传递给必须在Webkit端

  • 本文向大家介绍PHP 通过引用分配,包括了PHP 通过引用分配的使用技巧和注意事项,需要的朋友参考一下 示例 这是引用的第一阶段。本质上,当您通过引用进行分配时,就是允许两个变量共享相同的值。 $foo和$bar是相等的在这里。他们没有指向对方。它们指向同一位置(“值”)。 您还可以在array()语言结构中通过引用进行分配。虽然不是严格按参考分配。 但是请注意,数组内部的引用具有潜在的危险。使用