2012-01-05 10 views
0

私はphp java bridgeで作業していましたが、この問題に遭遇しました。 以下期待値は、例えば印刷されたコードその変数がphpで渡されたときにエコー値が異なる

$payID  = $epaymentpipe->getPaymentId(); 

echo $payID; 

、5323423123

であるが、私は以下のようにヘッダに同じ変数を渡すときに、オブジェクトIDはpayIDに通過します。

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

ここで起こっていただきました!私が知る必要がある53

http://URL?PaymentID=Objectのid#のように通過しています。変数が正しく印刷されたときに、変数を使用すると、オブジェクトIDが渡されます。

+0

コード全体を投稿できますか? –

+2

'var_dump($ payID)'はあなたに何を与えるのですか? – deceze

+0

var_dump($ payID)は私にオブジェクト配列を返します –

答えて

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

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

とPHP開発者にこのバグを報告しています。

。演算子は$ object - > __ toString()を使用して引数を文字列に変換する必要があります。

これはPHP 5.3以降で修正されています。

1

キャスト文字列としてオブジェクト:

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

まだオブジェクトIDだけを渡しています... –

0

エコーの定義は、そのようなものはますprint_rまたはのvar_dumpを通してそれをダンプすることによって値を確認起こるたびますprint_rとのvar_dump、とのように異なります。

+0

私は、印刷時に長いオブジェクト配列をvar_dumpでチェックします –

関連する問題