php 使用 '&'操作员
可能的重复:
参考 - 这个符号在 PHP 中意味着什么?
你好,我难以理解一些 &操作员的使用。我遇到过多个例子,只指出那些我不知道他们真正做什么的例子......
当我:
1)使用 & 时,这意味着什么?在函数名称中
function &foo() {}
2) 使用 &在函数参数
function foo($id, &$desc) {}
3)usgin &循环中
foreach ($data as $key => &$item) {}
Possible Duplicate:
Reference - What does this symbol mean in PHP?
hi i have trouble to understand some of the & operator usage. i have come across with multiple examples and point out only those whitch i dont know what they really do ...
what does it mean when i'm:
1) using & in function name
function &foo() {}
2) using & in function parameter
function foo($id, &$desc) {}
3) usgin & in loop
foreach ($data as $key => &$item) {}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
通过调用
foo()
通过引用返回一个变量。将值作为第一个参数
$id
,将引用作为第二个参数$desc
。如果在函数内修改$desc
,则调用代码传递的变量也会被修改。我用更清晰的示例更详细地回答了前两个问题 这里。
这是:
使用
foreach
通过引用修改数组的值。引用指向数组中的值,因此当您更改它们时,您也会更改数组。如果您不需要知道循环中的键,也可以省略$key =>
。Returns a variable by reference from calling
foo()
.Takes a value as the first parameter
$id
and a reference as the second parameter$desc
. If$desc
is modified within the function, the variable as passed by the calling code also gets modified.The first two questions are answered by me in greater detail with clearer examples here.
And this:
Uses
foreach
to modify an array's values by reference. The reference points to the values within the array, so when you change them, you change the array as well. If you don't need to know about the key within your loop, you can also leave out$key =>
.PHP 手册 有大量关于参考资料的部分(&操作员)解释它们是什么以及如何使用它们。
在您的特定示例中:
1)是按引用返回。您需要使用 &调用函数和声明函数时,就像上面一样: 按引用返回
2) 通过引用传递参数。您只需要使用 &在函数定义中,而不是在调用函数时: 按引用传递
3) 在 foreach 循环中使用引用。这允许您在循环内部时修改原始数组中的 $item 值。
有关 PHP 参考的所有完整信息可在手册中找到。
The PHP manual has a huge section on references (the & operator) explaining what they are and how to use them.
In your particular examples:
1) Is a return by reference. You need to use the & when calling the function and when declaring it, like you have above: Return by Reference
2) Is passing a parameter by reference. You only need to use the & in the function definition, not when calling the function: Passing by Reference
3) Is using a reference in a foreach loop. This allows you to modify the $item value within the originating array when you're inside the loop.
All the complete information on PHP references is available in the manual.
有关参考的 PHP 文档 将回答所有这些问题。
The PHP documentation on references will answer all of those questions.