1

代码一(工作正确):

function Hello( $rel ) {
   $res = mysqli("SELECT * FROM TABLE");
   $result = $res->num_rows;
   if ( $rel == 1 ) {
      print $result;
   } elseif ( $rel == 2 ) {
      echo $result;
   } elseif ( $rel == 3 ) {
      return $result;
   } else { 
      return $result;
   }
}

$pr = HELLO(3);
echo $pr;

它的代码工作正常。

然后我想做一个函数来处理数据并输出结果。

代码:

function out( $rel, $result ) {
   if ( $rel == 1 ) {
      print $result; 
   } elseif ( $rel == 2 ) {
      echo $result;
   } elseif ( $rel == 3 ) {
      return $result;
   } else { 
      return $result;
   }
}

function Hello( $rel ) {
   $res = mysqli("SELECT * FROM TABLE");
   $result = $res->num_rows;
   out( $rel, $result )
}

$pr = HELLO(3);
echo $pr;

但是现在代码不起作用(不在线显示结果echo $pr;)......

请告诉我为什么我有错误以及如何写正确?

PS:我不知道需要在函数之前使用return。感谢大家对我的新知识。

4

2 回答 2

1

您只是忘记return添加out($rel,$result)

就像现在一样,您的Hello()函数没有返回值。

于 2013-10-11T08:53:05.230 回答
0

您还没有返回第二个代码中的值。

你需要像这样使用:

return out($rel,$result).

return 在第二个函数中,第二个函数首先将值返回给函数,现在函数 first 也需要返回,所以你也需要在那里添加 return。

于 2013-10-11T08:52:49.293 回答