当在php中传递该变量时,echo值是不同的

时间:2012-01-05 06:51:02

标签: php php-5.3 php-java-bridge

我在php java bridge工作,遇到了这个问题。 以下是代码

 $payID     =  $epaymentpipe->getPaymentId();

 echo $payID;

打印预期值,例如,5323423123

但是当我在头文件中传递相同的变量时,如下所示,对象id传入payID。

header("location: URL?PaymentID=".$payID);

传递的内容类似于http://URL?PaymentID=Object id#53

我需要知道这里发生了什么。当变量正确地回显其打印时,但当我使用变量时,对象id正在传递。

3 个答案:

答案 0 :(得分:2)

header("location: URL?PaymentID=".$payID);

使用

header("location: URL?PaymentID=".((string)$payID));

并将此错误报告给PHP开发人员。

。运算符应使用$ object-> __ toString()将其参数转换为字符串。

请注意,这已在PHP 5.3及更高版本中修复!

答案 1 :(得分:1)

将对象转换为字符串:

$payID = (string)$epaymentpipe->getPaymentId();
header("location: URL?PaymentID=".$payID);

答案 2 :(得分:0)

echo的定义与print_r和var_dump的定义不同,每当发生任何此类事件时,通过print_r或var_dump转储来检查值。