首页 新闻 会员 周边

谁能帮我看下下面这段php代码错在哪里了么

0
[已解决问题] 解决于 2012-02-19 14:49

<?php
//通过引用传递函数参数
function square(&$var)                                                //通过引用传递参数
{
  $var*=$var;
}
function display_text($text,$font_name="隶书")                        //设置参数的默认值
{
  echo"<font face=\"{$font_name}\">{$text}</font>\n";
}
function sum()
{
  $numargs=func_num_args();                                          //此函数可接受数目不定的参数
  if($numarges>=2)
  {
    $arg_list=func_get_args();
 $sum=0;
 for($i=0;$i<$numargs;$i++);
   $sum+=$arg_list[$i];
  }
  return $sum;
}
$var=3;
echo"调用函数square之前:\$var=$var<br/>\n";
square($var);
echo"调用函数square之后:\$var=$var<br/>\n";
echo "<hr/>\n";
display_text("默认情况下使用宋体<br/>\n");                             //第二个参数使用默认值
display_text("现在的字体改为隶书<br/>\n","隶书");                      //制定第二个参数的值
echo"<hr/>\n";
echo"1+2+3=".sum(1,2,3)."<br/>\n";                                     //想函数传递三个参数
echo"1+2+3+4=".sum(1,2,3,4)."<br/>\n";                                 //想函数传递四个参数
?>

我运行后显示的结果如下:(为什么我的字体没有变,为什么求和的没有显示结果?)

调用函数square之前:$var=3
调用函数square之后:$var=9


默认情况下使用宋体
现在的字体改为隶书


1+2+3=
1+2+3+4=

php
tie_v的主页 tie_v | 初学一级 | 园豆:195
提问于:2012-02-18 16:57
< >
分享
最佳答案
1
 1 <?php
2 //通过引用传递函数参数
3 function square(&$var){
4 //通过引用传递参数
5 $var*=$var;
6 }
7 function display_text($text,$font_name="隶书"){
8 //设置参数的默认值
9 echo"<font face=\"{$font_name}\">{$text}</font>\n";
10 }
11 function sum(){
12 $numargs=func_num_args(); //此函数可接受数目不定的参数
13 if($numarges>=2){
14 $arg_list=func_get_args();
15 $sum=0;
16 for($i=0;$i<$numargs;$i++);
17 $sum+=$arg_list[$i];
18 }
19 return $sum;
20 }
21 $var=3;
22 echo"调用函数square之前:\$var=$var<br/>\n";
23 square($var);
24 echo"调用函数square之后:\$var=$var<br/>\n";
25 echo "<hr/>\n";
26 display_text("默认情况下使用宋体<br/>\n"); //第二个参数使用默认值
27 display_text("现在的字体改为隶书<br/>\n","隶书");//制定第二个参数的值
28 echo"<hr/>\n";
29 echo"1+2+3=".sum(1,2,3)."<br/>\n"; //想函数传递三个参数


你这里错误了  

1 function square(&$var)                                                //通过引用传递参数
{

应该为

function square(&$var) {      
//通过引用传递参数
枔羽 | 菜鸟二级 |园豆:205 | 2012-02-18 17:40

还是没有好使啊 怎么办呢

tie_v | 园豆:195 (初学一级) | 2012-02-18 17:49
 1 function sum()
2 {
3 $numargs=func_num_args(); //此函数可接受数目不定的参数
4 if($numarges>=2)
5 {
6 $arg_list=func_get_args();
7 $sum=0;
8 for($i=0;$i<$numargs;$i++);
9 $sum+=$arg_list[$i];
10 }
11 return $sum;
12 }

改成

 

function sum(){
$numargs=func_num_args();//此函数可接受数目不定的参数
if($numarges>2 || $numarges=2 ){
$arg_list=func_get_args();

$sum=0;
for($i=0;$i<$numargs;$i++){
$sum+=$arg_list[$i];
}
}
return $sum;
}



 

if($numarges>=2 ) 在PHP中不能这样写 

改成
if($numarges>2 || $numarges=2 )
枔羽 | 园豆:205 (菜鸟二级) | 2012-02-18 17:52

@tie_v: 

完整代码 

 1 <?php
2
3 function square(&$var){
4 //通过引用传递参数
5 $var*=$var;
6 }
7 function display_text($text,$font_name="隶书"){
8 //设置参数的默认值
9 echo"<font face=\"{$font_name}\">{$text}</font>\n";
10 }
11 function sum(){
12 $numargs=func_num_args();//此函数可接受数目不定的参数
13 if($numarges>2 || $numarges=2 ){
14 $arg_list=func_get_args();
15
16 $sum=0;
17 for($i=0;$i<$numargs;$i++){
18 $sum+=$arg_list[$i];
19 }
20 }
21 return $sum;
22 }
23 $var=3;
24 echo"调用函数square之前:\$var=$var<br/>\n";
25 square($var);
26 echo"调用函数square之后:\$var=$var<br/>\n";
27 echo "<hr/>\n";
28 display_text("默认情况下使用宋体<br/>\n"); //第二个参数使用默认值
29 display_text("现在的字体改为黑体<br/>\n","黑体");//制定第二个参数的值
30 echo"<hr/>\n";
31 echo"1+2+3=".sum(1,2,3)."<br/>\n"; //想函数传递三个参数
32 echo"1+2+3+4=".sum(1,2,3,4)."<br/>\n"; //想函数传递四个参数
33 ?>



枔羽 | 园豆:205 (菜鸟二级) | 2012-02-18 17:53

@Hematic: 这回真的好使了 非常感谢你呢

tie_v | 园豆:195 (初学一级) | 2012-02-19 14:49
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册