网络安全 频道

手动删除“sxs.exe病毒”方法

2.1.6 从函数返回值

一般情况下,脚本的结果可能取决与函数的结果,也可能取决与在执行函数时对数据的修行,而由于变量作用域的差异,函数体无法很容易的将信息传递给调用者,这个时候就可以通过
return关键字向调用者传递数据.

1.return()
return()语句可以向函数调用者返回任意的数值,将程序控制权返回到调用者的作用域.如果return()在全局作用域内调用,将终止脚本的执行.
返回刚才的sum()函数,计算的结果暂时不能显示给用户,而是将这个值返回给调用块:
function sum($a,$b,$c=''){
$sum=$a+$b+$c;
return $sum;
}
也可以不需要赋值给$sum:
function sum($a,$b,$c=''){ 
return $a+$b+$c;
}
2.返回多个值

这里以构造函数list()为例说明返回多个值:
例:2.1.6-L1
<?php
function getmicrotime(){
return explode(" ",microtime());
}
list($msec, $sec)=getmicrotime();
echo $msec."<br/>";
echo $sec."<br/>";
?>
注解: micrtime()函数是返回当前 UNIX 时间戳和微秒数,返回格式为“msec sec”的字符串,其中 sec 是当前的 Unix 时间戳,msec 是微秒部分。字符串的两部分都是以秒为单位返回的。
explode()是使用一个字符串分割另一个字符串,这里用来分割micrtime()得到的两个值组成的一个字符串.

调用getmicrotime()函数后,此时返回的是两个值,$msec和$sec;
这个函数可以丰富一下用来做检测程序运行时间
<?php
function getmicrotime(){
list($usec, $sec) = explode(" ",microtime());
return ((float)$usec + (float)$sec); //注意这里只是返回一个两个数值的和
}
$time_start = getmicrotime();
for($i=0;$i<1000;$i++){
echo $i;
}
$time_end = getmicrotime();
echo "\n\n[执行时间: " . ($time_end - $time_start) . "秒]\n\n";
?>
0
相关文章