結論
関数を作って擬似的にドットアクセスをします
<?php function array_get(array $var, $format) { foreach (explode('.', (string)$format) as $key) { if (!isset($var[$key])) { return null; } $var = $var[$key]; } return $var; }
<?php $array = array( 'A'=>array( 'B'=>array( 'C'=>'OK' ) ), ); var_dump(array_get($array, 'A.B.C')); // string(2) "OK" var_dump(array_get($array, 'A.B')); // array(1) { ["C"]=> string(2) "OK" } var_dump(array_get($array, 'A.Z')); // NULL