Extract — циклический многомерный массив с заданными ключами и извлеченными переменными

Я извлекаю данные из лог файлов пользовательских данных по месяцам. Сам код работает, но кажется нелегким. Я ищу идеи о том, как убрать это. Любая помощь с благодарностью получена.

У меня есть следующий код. Функция data_manip вызывается в get_files, которая назначает соответствующие данные каждого месяца в массив с именем file_resource. Затем вызывается функция data_manip, которая использует «extract» для определения массивов с $ names на основе имен ключей, которые были определены по имени месяца в функции get_files. Затем я определяю, существует ли эта переменная на основе файлов, которые были помещены в папку данных (код, для которого я не включил). Функция data_analytic анализирует данные и выводит результаты на html-страницу. В настоящее время это решение кажется неуклюжим.

Что я хотел бы сделать, это определить, существует ли каждая переменная имени месяца (январь — декабрь), а затем, если каждый раз этот запрос проверяется как истинный, анализировать результат массива $ name, который соответствует этому конкретному названию месяца, и назначать привести к новому массиву данных, который будет называться $ january_data или $ feb February_data и т. д.

function get_files($month_names){
foreach ($month_names as $month_name) {
$file_resource[] = array(
$month_name =>
file("data/$month_name.log")
);
}
data_manip($file_resource);
return $file_resource;
}

function data_manip($file_resource){
foreach ($file_resource as $month_data) {
extract($month_data);
}
if (isset($january)){
foreach ($january as $january_values) {
$january_data[] = explode(' ', $january_values);
}
echo "<h2>January</h2>";
data_analytic($january_data);
}
if (isset($february)){
foreach ($february as $february_values) {
$february_data[] = explode(' ', $february_values);
}
echo "<h2>February</h2>";
data_analytic($february_data);
}
if (isset($march)){
foreach ($march as $march_values) {
$march_data[] = explode(' ', $march_values);
}
echo "<h2>March</h2>";
data_analytic($march_data);
}
if (isset($april)){
foreach ($april as $april_values) {
$april_data[] = explode(' ', $april_values);
}
echo "<h2>April</h2>";
data_analytic($april_data);
}
if (isset($may)){
foreach ($may as $may_values) {
$may_data[] = explode(' ', $may_values);
}
echo "<h2>May</h2>";
data_analytic($may_data);
}
if (isset($june)){
foreach ($june as $june_values) {
$june_data[] = explode(' ', $june_values);
}
echo "<h2>June</h2>";
data_analytic($june_data);
}
if (isset($july)){
foreach ($july as $july_values) {
$july_data[] = explode(' ', $july_values);
}
echo "<h2>July</h2>";
data_analytic($july_data);
}
if (isset($august)){
foreach ($august as $august_values) {
$august_data[] = explode(' ', $august_values);
}
echo "<h2>August</h2>";
data_analytic($august_data);
}
if (isset($september)){
foreach ($september as $september_values) {
$september_data[] = explode(' ', $september_values);
}
echo "<h2>September</h2>";
data_analytic($september_data);
}
if (isset($october)){
foreach ($october as $october_values) {
$october_data[] = explode(' ', $october_values);
}
echo "<h2>October</h2>";
data_analytic($october_data);
}
if (isset($november)){
foreach ($november as $november_values) {
$november_data[] = explode(' ', $november_values);
}
echo "<h2>November</h2>";
data_analytic($november_data);
}
if (isset($december)){
foreach ($december as $december_values) {
$december_data[] = explode(' ', $december_values);
}
echo "<h2>December</h2>";
data_analytic($december_data);
}
}

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]