Есть многомерный массив.
Нужно написать функцию которая будет выводить нужный элемент по цепочке ключей с разделителем.
Примерно вот так:
// точка в качестве разделителя
$result = get_array_el($array, 'level.level_2.level_3.level_N')
function get_array_el($array, $key_string, $default = null){
// точки нет - значит 1й уровень вложенности
if(strpos($key, '.') === false){
return isset($array[$key_string]) ? $array[$key_string] : $default;
}
// получаем все уровни
$levels = explode('.', $key_string);
// и тут нужно как то так.
// но я не могу придумать как
return $array[$levels[0]][$levels[1]][$levels[2]][$levels[N]]
}
Вот что получилось. Конечно хотелось универсального решения. Но в моем случае хватит 3-х уровней вложенности.
function get_array_el($array, $key_string, $default = null){
// точки нет - значит 1й уровень вложенности
if(strpos($key, '.') === false){
return isset($array[$key_string]) ? $array[$key_string] : $default;
}
// получаем все уровни
$lvl = explode('.', $key_string);
// вложенность 2
if (count($lvl) == 2) {
return isset($array[$lvl[0]][$lvl[1]]) ? $array[$lvl[0]][$lvl[1]] : $default;
}
// вложенность 3
elseif (count($lvl) == 3) {
return isset($array[$lvl[0]][$lvl[1]][$lvl[2]]) ? $array[$lvl[0]][$lvl[1]][$lvl[2]] : $default;
}
return $default;
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Пользователь вводит произвольную формулу, которая сохраняется в БДВ формуле есть подстановки значений из последующих форм, к примеру:
Сейчас есть 2 таблицы, которых в дальнейшем будет 13Каждая таблица абсолютно идентична по структуре, каждая проиндексирована по нужным параметрам...