Часто у меня будет массив, содержащий набор значений, каждое из которых мне нужно обработать. Иногда массив будет содержать только один набор, и в этом случае каждое значение должно быть обработано в процессе. В других случаях массив будет содержать много наборов, и в этом случае каждое значение будет массивом, и каждое значение этих массивов необходимо будет обработать. Вот пример:
foreach($array as $key => $value) {
if(is_array($value)) {
foreach($value as $subkey => $subvalue) {
//Process $subvalue here
}
}
else {
//Process $value here
}
}
Проблема в том, что код для обработки $ value / $ subvalue идентичен, за исключением того, что он работает с другой переменной. Один из способов упростить это - поместить этот код в функцию, но все равно кажется, что его не нужно дважды вызывать. Кроме того, это оставило бы довольно много кода (циклы foreach и тест массива) вне этой функции. Например, скажем, процесс проверки, я не хочу писать два цикла foreach и тест массива всякий раз, когда я хочу вызвать мою функцию проверки.
Есть ли более простой способ сделать это?