name."是个空类".""; } function "/> name."是个空类".""; } function ">
Heim > Backend-Entwicklung > PHP-Tutorial > 哪位大侠可以告诉小弟我php中_call()的返回值是什么!

哪位大侠可以告诉小弟我php中_call()的返回值是什么!

WBOY
Freigeben: 2016-06-13 10:08:21
Original
868 Leute haben es durchsucht

哪位大侠可以告诉我php中__call()的返回值是什么!~~
class my{
public $name = "我的类";

function __tostring(){
return $this -> name."是个空类"."
";

}
function __call($n, $v){
echo "不存在的方法:".$n."
";
echo "错误的值:",print_r($v)."
"; //最后面输出1,是怎么回事。
}
}

$p = new my();

echo $p;

$p -> no("第一",6,a);



下面是运行结果:我的类是个空类
不存在的方法:no
错误的值:Array ( [0] => 第一 [1] => 6 [2] => a ) 1

为什么最后面会出现个1呢???百思不得其解!~~




------解决方案--------------------
bool print_r ( mixed expression [, bool return] )
print_r的返回值

function __call($n, $v){
echo "不存在的方法:".$n."
";
print_r($v); 
}
------解决方案--------------------
return 参数。若此参数设为 TRUE,print_r() 将不打印结果(此为默认动作),而是返回其输出
所以也可以这样

echo "错误的值:".print_r($v,true)."
"; //最后面输出1,是怎么回事。

------解决方案--------------------
你这个不是__call方法的问题,1是print_r的返回值
function __call($n, $v)
{
echo "不存在的方法:".$n."
";
echo "错误的值:";print_r($v); //最后面输出1,是怎么回事。
}
改成这样就不会输出1了。

你写成echo "错误的值:".print_r($v,true)."
"; 这样就会输出返回值

http://zhidao.baidu.com/question/256918769.html

http://cn2.php.net/print_r/


Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage