if(is_array($array[$key])) {

Ersetzen mit

if(is_array($value)) {

vielleicht bringts was