0

フォームを使用して支払いを収集し、print_r を使用すると、出力に次のように表示されます...

[customer] => ChargifyCustomer Object
    (
        [email] => test@aol.com
        [first_name] => John
        [last_name] => Doe
        [organization] => 
        [reference] => 
        [id] => 2588487
        [created_at] => 2012-12-14T08:50:45-05:00
        [updated_at] => 2012-12-14T08:50:45-05:00
    )

この出力を生成する PHP を以下に示します...

try {
    $new_subscription = $subscription->create();
    if ($new_subscription != '') {
        // session_unset();
        echo '<pre>';
        print_r($new_subscription);
        echo '</pre>';
        foreach ($new_subscription as $item) {
            echo 'First Name' . $item->customer->first_name . '.';
        }
    }
}

ページをロードするたびに、名前がエコーされません。代わりに、「名」とだけ表示されます。数回。

私のエラーがどこにあるかを判断するのを手伝ってください。

4

1 に答える 1

0

キーを確認する必要があります。

foreach($new_subscription as $key => $item) {
    if($key == 'first_name') {
        echo "First Name: " . $item . '.';
    }
}

しかし、$new_subscription はオブジェクトの配列ではないため、なぜ foreach を実行するのかわかりません。実際には、次のように言う必要があります。

echo "First Name: " . $new_subscription->first_name. '.';
于 2012-12-14T14:04:22.507 に答える