0

私は次のような配列を持っています

Array
 (
[1] => Array
    (
        [user_info] => Array
            (
                [id] => 1
                [name] => Josh
                [email] => u0001@josh.com
                [watched_auctions] => 150022 150031
            )

        [auctions] => Array
            (
                [150022] => Array
                    (
                        [id] => 150022
                        [title] => Title of auction
                        [end_date] => 2013-08-28 17:50:00
                        [price] => 10
                    )

                [150031] => Array
                    (
                        [id] => 150031
                        [title] => Title of auction №
                        [end_date] => 2013-08-28 16:08:03
                        [price] => 10
                    )

            )

    )

だから私はid、title、end_date<td>から情報を入力する必要があり[auctions] => Array ますが、$ Info ['id']が好きな場合idは[user_info]から$ Info [auctions] ['id']を試してみるとnullが返されます[オークション]情報を取得するにはどうすればよいですか?

4

4 に答える 4

1

試す:

foreach( $info['auctions'] as  $key=>$each ){
    echo ( $each['id'] );
}

または、

foreach( $info as $key=>$each ){
    foreach( $each['auctions'] as  $subKey=>$subEach ){
        echo ( $subEach['id'] );
    }    
}
于 2013-08-30T07:23:32.380 に答える
0

あなたの質問は少し形式が正しくありません。これが配列構造の理解不足によるものなのか、説明に苦労しただけなのかはわかりません。しかし、基本的に PHP の配列には2 つのキーがありません。基本的なレベルでこのトピックにもう少し光を当てようとします。それがあなたの役に立てば幸いです.

とにかく、あなたが持っているのは配列の配列です。また、配列を含む配列の内容にアクセスする方法と、整数を含む配列の値にアクセスする方法に違いはありません。唯一の違いは、配列から値を取得すると、別の配列が得られることです。その配列は、通常の配列と同じように値にアクセスできます。

必要に応じて、これらすべてを「1」行で実行できます。例えば

echo $array[1]["user_info"]["name"]

ジョシュを印刷します

しかし、実際に起こることは魔法ではありません。配列からインデックス1の要素を取得します。これはたまたま配列なので、そこからインデックス *user_info* の要素を取得します。返されるものも配列であるため、インデックスnameで要素を取得します。

したがって、これは行うことと同じです

$arrayElement = $array[1];
$userInfo = $arrayElement["user_info"];
$name = $userInfo["name"];

これは読み取りとデバッグが「より簡単」ですが、生成されるコードの量により、人々はよりコンパクトなバージョンを作成することがあります。

配列を取得するので、 foreachループで配列を反復処理し、そのループ内で最初の配列内の各インデックスから取得した各配列を反復処理するなどのこともできます。これは、多次元配列を反復処理して、構造全体の各要素に対して印刷または何らかのアクションを実行するための簡単な方法です。

于 2013-08-30T07:38:08.400 に答える