- json_decode: documentation ( source)
- array_walk_recursive: documentation ( source)
<?php
$json = <<<'EOD'
[{
"layout":12,
"settings":{
"text":"Lorem",
"atts":{
"html":"<div>Ipsum</div>"
}
}
}]
EOD;
$arr = json_decode($json, true);
array_walk_recursive($arr, function ($v, $k) {
if ( in_array($k, ['text', 'html']) )
echo "$k -> $v\n";
});