0

PHPが配列を処理する方法についてはよくわかりません.NETでは、このメソッドを使用して配列にアクセスできます

array[x][y];

私の質問は:

データベースからレコードを取得し、それを$res_merchant_field

$res_merchant_field = $this->CI->merchantfield_model->merchantfield_list( $str_where );

次の$res_merchant_fieldレコードが入力されます。

Array
(
    [0] => stdClass Object
        (
            [MFID] => 1
            [MFName] => Bill No
            [FTID] => 1
            [DTID] => 1
            [MFRequired] => 1
            [MFDefaultValue] => 
            [MFDueDate] => 0
            [MFToBePaid] => 0
            [MFMaxLength] => 12
            [MFOrderNo] => 1
            [MFStatus] => 1
        )

    [1] => stdClass Object
        (
            [MFID] => 2
            [MFName] => Gallons Consumed
            [FTID] => 1
            [DTID] => 2
            [MFRequired] => 1
            [MFDefaultValue] => 
            [MFDueDate] => 0
            [MFToBePaid] => 0
            [MFMaxLength] => 5
            [MFOrderNo] => 2
            [MFStatus] => 1
        )

    [2] => stdClass Object
        (
            [MFID] => 3
            [MFName] => Amount Due
            [FTID] => 3
            [DTID] => 1
            [MFRequired] => 1
            [MFDefaultValue] => 
            [MFDueDate] => 0
            [MFToBePaid] => 1
            [MFMaxLength] => 15
            [MFOrderNo] => 3
            [MFStatus] => 1
        )

)

この条件でその配列からレコードにアクセスして取得するにはどうすればよいですか:

  1. すべての配列を調べて、特定のインデックスを見つけます。MFID であるインデックス 0 としましょう。
  2. MFID を取得し、それを別の変数と比較した後、それが true の場合、
  3. そのアレイ MFID の DTID を取得します。

例:

MFID = 1 を取得すると、DTID は 1 になります。MFID = 3 を取得すると、DTID は 1 になります。

またはどのように配列にアクセスできます$array[x][y]か?

前もって感謝します。

4

1 に答える 1

1

問題は、第 2 レベルが配列ではなくオブジェクトであることです。プロパティにアクセスするには、この形式を使用する必要があります。

 $array[$x]->$y;

残念ながら、インデックスによってプロパティにアクセスすることはできません。0 番目のアイテムの MFID を取得する必要があります。

 $array[0]->MFID;
于 2013-06-17T02:26:25.143 に答える