假设我们有一个名为languages.txt文件,该文件具有以下内容:PHP:传递资源数据类型作为参数传递给函数
AJAX HTML CSS JQUERY
这里的PHP代码阅读上述文件:
<?php
function read ($fh2, $length) {
return (fread($fh2,$length));
}
$fh1 = fopen ('languages.txt', 'r') ;
echo read ($fh1, 7) ;
echo read ($fh1, 4) ;
?>
我们知道,在PHP中,局部变量是局部函数,全局变量在函数之外是可用的。
因此,考虑$ FH1作为一个全局变量,$ FH2为局部变量和两个彼此独立的我预期的输出为
AJAX HTAJAX
但是,在输出出来是
AJAX HTMLç
任何人都可以解释我发生了什么?当resource
数据类型作为参数传递给一个函数时,它是否通过引用传递,而不像int
数据类型?
它与本地/全局变量没有任何关系 –
资源var是对外部资源的引用,因此无论它是原始资源var还是副本,它仍然是对外部资源的引用,在这种情况下,一个打开的文件。 – AbraCadaver