Есть ли функция, чтобы убедиться, что любой данный массив соответствует определенной структуре? Я имею в виду, что это имеет определенные ключевые имена, возможно, конкретные типы для значений и любую вложенную структуру.
В настоящее время у меня есть место, где я хочу убедиться, что массив, который проходит мимо, имеет определенные ключи, пару с определенным типом данных и один под-массив с определенными именами ключей. Я сделал много пробега, потому что я передавал ему неправильные массивы, и, наконец, я нахожусь в точке, где у меня есть куча
if ( ! isset($arr['key1']) ) { .... }
if ( ! isset($arr['key2']) ) { .... }
if ( ! isset($arr['key3']) ) { .... }
Я бы сэкономил много времени и ужаса, если бы мог проверить, что массив соответствует определенной структуре заранее. В идеале что-то вроде
$arrModel = array(
'key1' => NULL ,
'key2' => int ,
'key3' => array(
'key1' => NULL ,
'key2' => NULL ,
),
);
if ( ! validate_array( $arrModel, $arrCandidate ) ) { ... }
Итак, вопрос, который я задаю, это уже существует, или я сам пишу это?