次を出力する配列があります。
Array ( [roi_data] => Array (
[0] => Array ( [title] => Test ROI )
[1] => Array ( [title] => Another ROI )
))
タイトルを持つすべてのキーを1つの配列に結合し、そこからランダムな値をエコーしたいと思います。
使ってみarray_rand()
ましたが、単語Array
が表示されます。
ネストされた配列があるため、次のものが必要になります。
$key = array_rand( $array['roi_data']);
echo $array['roi_data'][$key]['title'];
多次元配列があります。を呼び出すとarray_rand
、配列の最初の層からランダムな要素が返されます。この要素は配列自体になります。
Array (
[roi_data] => Array ( <-- there is only one element in the top level
[0] => Array ( <-- there are two elements in this level
[title] => Test ROI <-- there is only one element in this level
),
[1] => Array (
[title] => Another ROI
)
)
)
したがって、レベルからランダムな要素が必要な場合は、次のroi_data
ように指定する必要があります。
$key = array_rand($myArray['roi_data']);
$item = $myArray['roi_data'][$key];
echo $item['title'];
ドキュメンテーション
array_rand
-http ://php.net/manual/en/function.array-rand.php