0

我在php java bridge中工作并遇到了这个问题。下面是代码

 $payID     =  $epaymentpipe->getPaymentId();

 echo $payID;

打印预期值,例如 5323423123

但是当我在下面的标头中传递相同的变量时,对象 id 正在传递 payID。

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

它像http://URL?PaymentID=Object id #53一样传递

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

4

3 回答 3

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

采用

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

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

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

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

于 2012-01-07T13:04:45.347 回答
1

将对象转换为字符串:

$payID = (string)$epaymentpipe->getPaymentId();
header("location: URL?PaymentID=".$payID);
于 2012-01-05T06:57:50.513 回答
0

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

于 2012-01-05T07:15:25.580 回答