-4

PHP配列で正しい値を呼び出すのに問題があります。これが配列です。

Array ( [count] => 1 [threads] => Array ( [13] => Array ( [thread_id] => 13 [node_id] => 4 [title] => Forum Integration nearly complete! [reply_count] => 0 [view_count] => 0 [user_id] => 59 [username] => Faeron [post_date] => 1369257302 [sticky] => 0 [discussion_state] => visible [discussion_open] => 1 [discussion_type] => [first_post_id] => 23 [first_post_likes] => 0 [last_post_date] => 1369257302 [last_post_id] => 23 [last_post_user_id] => 59 [last_post_username] => Faeron [prefix_id] => 1 [content] => Array ( [count] => 1 [content] => Array ( [23] => Array ( [post_id] => 23 [thread_id] => 13 [user_id] => 59 [username] => Faeron [post_date] => 1369257302 [message] => It's been quite a while since we began to integrate the phanime Forums with the main site. We have now finished the integration with the phanime Forums and the main site. You will no longer notice that there are two platforms running phanime, but instead only one. Our next step is to theme the forums to make it look like the main site! [ip_id] => 268 [message_state] => visible [attach_count] => 0 [position] => 0 [likes] => 0 [like_users] => a:0:{} [warning_id] => 0 [warning_message] => ) ) ) ) ) )

ここで、この配列が$array最初の要素の値「[count]」を取得するために名前が付けられたとしましょう。次のように言うことはできませんprint $array["[count]"]

要素である配列自体として値を持つ要素はどうですか[threads][thread_id]おそらく要素の値を取得するにはどうすればよいですか?

4

2 に答える 2

1

次のように使用します。

echo $array['count']; // would output '1'
echo $array['threads'][13]['thread_id']; // outputs '13'
echo $array['threads'][13]['content']['content'][23]['message']; // "It's been.."

多次元配列に関する (簡単な) ドキュメントは次のとおりです

例を含むそれらのガイドを次に示します

更新:番号付き配列キーを事前に知らなくても「メッセージ」の値を取得するには、次を使用できます。

reset($array);
$first = array_keys($array['threads']);
$first = $first[0];
$second = array_keys($array['threads'][$first]['content']['content']);
$second = $second[0];
echo $array['threads'][$first]['content']['content'][$second]['message']; 
于 2013-05-22T22:25:37.257 に答える
0

次を使用して、配列内の値にアクセスできます。

echo $array['count'];

次のように配列全体を印刷することもできます。

print_r($array);

また

var_dump($array);

多次元配列から値を書き込みたい場合は、次を使用します。

echo $array[23]['post_id'];

したがって、要約すると、次を参照してください。

$array = array(
    'bar'  => 'testing value',
    'foo'  => array(
         'bar' => 'test'
    )
);

print_r($array) // Will print whole array
echo $array['bar']; // Will print 'testing value'
print_r($array['foo']); // Will print the second level array
echo $array['foo']['bar']; // Will print 'test'
于 2013-05-22T22:15:29.083 に答える