意外とドンピシャのコードが見つからなかったので、備忘録として書いておきます。
function hasKey($array, $key)
{
$hasKey = false;
array_walk_recursive($array, function ($eachItem, $eachKey) use(&$hasKey, $key) {
$hasKey |= $eachKey === $key;
});
return (bool)$hasKey;
}
array_reduce()
が使えるのかと思ったんですが、ネストの下層まで潜ってreduceしてくれるわけではないようでした。