c#中关键字的含义,它在PHP中是否有等价的
本文关键字:是否 PHP 关键字 它在 | 更新日期: 2023-09-27 18:05:26
我正在尝试将这个c#方法转换为PHP。第二个参数中的out是什么意思?
public static bool Foo(string name, out string key)
文档ref
public static function foo($str, &$key)
^
| Pass by reference
请考虑在c#中,当使用out
和时,必须在调用方法中设置一个值,遗憾的是您不能直接将其转换为PHP
out
关键字指定参数必须由被调用的方法分配,分配的值将被传递回调用方法。查看MSDN获取更多信息。
我不认为PHP有一个等效的必要的赋值行为,但如果你正在转换方法体,并在内部维护该行为,你应该能够将其转换为常规的通过引用参数传递,并保持相同的功能。
我在google上搜索了一下,找到了这个网站:http://www.php.net/manual/en/language.references.pass.php
如您所知,形参是变量的副本。这意味着你实际上不会改变变量本身。
例如:
<?php
function foo($bar) {
$bar++;
}
$bar = 5; // $bar = 5
foo($bar); // $bar = 6
echo $bar; // $bar = 5
?>
虽然这段代码实际上会改变给定的变量,因为它使用了引用。
<?php
function foo(&$bar) {
$bar++;
}
$bar = 5; // $bar = 5
foo($bar); // $bar = 6
echo $bar; // $bar = 6 now
?>
注意:这不是你在c#中使用的out参数的php版本