我在php java bridge工作,遇到了这个问题。 以下是代码
$payID = $epaymentpipe->getPaymentId();
echo $payID;
打印预期值,例如,5323423123
但是当我在头文件中传递相同的变量时,如下所示,对象id传入payID。
header("location: URL?PaymentID=".$payID);
传递的内容类似于http://URL?PaymentID=Object id#53
我需要知道这里发生了什么。当变量正确地回显其打印时,但当我使用变量时,对象id正在传递。
答案 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转储来检查值。