0

私はphp Javaブリッジで作業していて、この問題に遭遇しました。以下はコードです

 $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()を使用して引数を文字列に変換する必要があります。

これはPHP5.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 に答える