方法1:foreachで1階層ずつループしていく方法
PHP
1//[0]の部分をループ ($key => のように書くと、0とか1とかのキー番号が$keyに入る)
2foreach($result as $key => $dbsList) {
3 //[DBS]の部分をループ (この書き方だとキーは取れない。いらないなら無駄な変数起こさないでいいから便利)
4 foreach($dbsList as $dbs) {
5 echo $dbs['NAME'];
6 }
7}
方法2:Hashクラスを使う
PHP
1//Hashクラスを使って、[n][DBS][NAME]のPathにある値を一次元配列 array('default', 'abc'・・・)に抽出
2$nameList = Hash::extract($result, '{n}.DBS.NAME');
3foreach($nameList as $name) {
4 echo $name;
5}
NAMEだけ欲しいのであれば、方法2の方が便利です。
方法3:同様にHashクラスを使うが、keyにしたいデータがある場合
PHP
1//Hashクラスを使って、array(DB_ID => NAME)の形になるような配列を抽出する
2$nameList = Hash::combine($result, '{n}.DBS.DB_ID', '{n}.DBS.NAME');
3foreach($nameList as $dbId => $name) {
4 echo 'DB_ID: '.$dbId.PHP_EOL;
5 echo 'NAME: '.$name.PHP_EOL;
6}