Честно говоря, я бы сделал что-то вроде этого:
$required = array_flip(['Symbol', 'Position']); //flip because I am lazy like that ['Symbol'=>0, 'Position'=>1]
foreach($array as $subarray){
$diff = array_diff_key($required, $subarray);
//prints any keys in $required that are not in $subarray
print_r($diff);
if(!empty($diff)){
//some required keys were missed
}
}
Хотя неясно, как вы их проверяете, причина в том, как я объяснил в этом комментарии
это все еще не 't решить проблему, так как у вас нет возможности узнать, какими будут ключи (если они не одинаковы).Так что с моим примером foo
это $col3
, что если у меня bar
позже, это $col4
, что если в следующий раз порядок будет другим ... они будут другими числами.Конечно, это несколько, что если, но у вас нет никаких гарантий здесь.
При динамической нумерации ключей, если структура массива когда-либо изменится, вы не будете знать, что содержат эти динамические переменные, и, как таковые, не будут знать, как их проверять.
Так что даже если вам удастся заставить это работать, если ваши данные когда-либо изменятся, вам придется повторно посетить код.
В любом случае, если вы хотите увидеть, содержит ли каждый массив ключи, которые ему необходимы,то, что я изложил выше, было бы более разумным способом сделать это.