类似于.net的out功能,php中可以使用&实现
如下示例:
<?php$x=2; inOutFunction($x); function inOutFunction(&$x){ $x=3; return ‘a‘; } echo $x; exit();
同样,在递归中可以使用此方法传值:
如下示例遍历文件夹中的文件:
<?php$dir=‘/‘; print_r(scanfDir($dir,true,$ret)); function scanfDir($dir = ‘‘, $all = false, &$ret = array()) { $x=‘avc‘; if (false !== ($handle = opendir($dir))) { while (false !== ($file = readdir($handle))) { if (!in_array($file, array(‘.‘, ‘..‘, ‘.git‘, ‘.gitignore‘, ‘.svn‘, ‘.htaccess‘, ‘.buildpath‘, ‘.project‘))) { $cur_path = $dir . ‘/‘ . $file; if (is_dir($cur_path)) { $ret[‘dirs‘][] = $cur_path; $all && scanfDir($cur_path, $all, $ret); } else { $ret [‘files‘] [] = $cur_path; } } } closedir($handle); } return $ret; }
时间: 2024-10-28 09:14:12