-1

この配列から数量を取得したいと思います。

  invoice Object
    (
    [data:private] => Array
    (
    [i_status] => pend
    [i_title] => 500 HLCoins , 500 HLCoins x8
    [i_member] => 1
    [i_items] => Array
    (
    [0] => Array
    (
    [act] => new
    [app] => nexus
    [type] => product
    [cost] => 0
    [tax] => 0
    [renew_term] => 0
    [renew_units] =>
    [renew_cost] => 0
    [quantity] => 1
    [physical] =>
    [shipping] => Array
    (
    )
    [weight] => 0
    [itemName] => 500 HLCoins
    [itemID] => 3
    [cfields] => Array
    (
    )
    [extra] =>
    [opt_id] => 0
    [associated] =>
    [assocBought] =>
    [groupRenewals] => 0
    [methods] => Array
    (
    )
    [k] => 0
    [_tax] => 0
    )
    [1] => Array
    (
    [act] => new
    [app] => nexus
    [type] => product
    [cost] => 0
    [tax] => 0
    [renew_term] => 0
    [renew_units] =>
    [renew_cost] => 0
    [quantity] => 8
    [physical] =>
    [shipping] => Array
    (
    )
    [weight] => 0
    [itemName] => 500 HLCoins
    [itemID] => 3
    [cfields] => Array
    (
    )
    [opt_id] => 0
    [groupRenewals] => 0
    [methods] => Array
    (
    )
    [_tax] => 0
    )
    )
    [i_total] => 0
    [i_date] => 1347217384
    [i_return_uri] =>
    [i_paid] => 0
    [i_status_extra] => a:1:{s:4:"type";s:4:"zero";}
    [i_discount] => 0
    [i_temp] =>
    [i_ordersteps] => 0
    [i_noreminder] => 1
    [i_renewal_ids] => Array
    (
    )
    [i_po] =>
    [i_notes] =>
    [i_shipaddress] =>
    [i_id] => 229
    )


        [takeAction] => 1
    )

$ invoice-> Quantity、$ invoice [1]-> Quantity、$ this-> $ invoice-> Quantityなどのコードを試しましたが、どれも表示されないようです。

それでもまったく表示されません。print_rを試してみましたが、それが配列です。

4

2 に答える 2

3

すべての変数はprivate、オブジェクトの外部からそれらにアクセスできないことを意味します。請求書クラスのクラス定義を確認してください。オブジェクトから数量を取得する関数が必要です。そうでない場合は、そのような機能をクラスに追加できます。

これの全体的なポイントは、関心の分離です。クラスは将来変更される可能性があり、同じ構造を使用しない可能性があるため、オブジェクト関数を使用してプロパティにアクセスする必要があります。変数として直接アクセスしないでください。

このテーマの詳細については、マニュアルまたはオブジェクト指向プログラミングに関する本を参照してください。

于 2012-09-09T19:16:45.397 に答える
2

すべてのデータがprivateプロパティにあるようです。外部から直接アクセスすることはできません。

クラスのドキュメントを読んでください。データを取得するなど、呼び出すことができるメソッドが必要getQuantity()です。これは、クラスがどのように作成され、どのように使用されるかによって異なります。

于 2012-09-09T19:17:00.533 に答える