sapphires
Новичок
Комплексное решение задачи на php (таблица -> строка -> массив -> вывод)
Конкретную тему сформулировать не смог в силу того, что задача имеет комплексных характер (или же в моем не одаренности в php).
Но, думаю, эта тема будет качественно-полезна с точки зрения "не дробления" её на несколько.
Заранее извиняюсь если что не так. Критика приветствуется.
Формулировка:
1. Вывожу с помощью цикла foreach() уже заранее "обработанный" текстовый файл содержимое которого ниже
<script type='text/javascript'>
var N1=[];
N1[0]=['00443676','443676','000241','1','7204','Soccer / Australia McInerney Ford Night Series 1st Division ','Rockingham City (N) ','Dianella White Eagles','0729','0',0,'0','1H 26\'','','True',1,'0',0,0,'0','0','0','1','3236954','0-0.5','1.920','1.920','h','3236953','2.0','1.930','1.890','','','','','3238437','0.0','1.540','2.428','','3238438','0.5','1.910','1.910','','','',''];
N1[1]=['222','2223','323','2','','','','','','',,'','','','True',1,'0',0,0,'0','0','0','1','3238435','0.5','2.234','1.650','h','3238436','2-2.5','2.176','1.670','','','','','3236950','0-0.5','2.562','1.480','h','3236949','0.5-1','2.315','1.580','','','',''];
N1[2]=['00443687','443687','001331','1','3034','Soccer / Turkey Youth League','Trabzonspor (Youth)(N)','Ankaragucu (Youth)','0729','0',0,'0','1H 29\'','','True',1,'0',0,1,'1','0','0','1','3237187','1.0','1.805','2.036','h','3237186','4.0','2.025','1.795','','','','','3238330','0-0.5','2.010','1.830','h','3238331','2.5','1.990','1.830','','','',''];
N1[3]=['','','','2','','','','','','',,'','','','True',1,'0',0,0,'0','0','0','1','3238328','1-1.5','2.307','1.605','h','3238329','4-4.5','2.351','1.560','','','','','3237183','0.5','2.754','1.410','h','3237182','2.5-3','2.369','1.550','','','',''];
</script>
получаю в браузере:
Задача №1:
Как можно получить массив "А1"
первый ключ которого должен иметь не цифру, а текст - "футбол",
второй - "тенис"
и т.д.
В данном случае у нас массив "А1" - футбол
Задача №2:
Начну с описания проблемы этой задачи потом опишу саму задачу
Проблема :
Дело в том, что элементы массива "A1.2" должны принадлежать массиву "A1.1"- в силу с условием (если в шестом элементе массива "A1.2" нет никакого значения то нужно вывести массивы "A1.1" и "A1.2" как единый целый элемент массива "A1" - т.е. теперь массив "A1.1" должен содержать все элементы массива "A1.2" - общее количество элементов теперь должно быть 96 ).
Также нужно проверить шестой элемент следующего массива - "A1.3" на это условие и также прибавить к тем двум (только уже одному "A1.1" массиву) и т.д.
Когда цикл все таки находит какое-то значение шестой элемент N массива
он должен сделать с этим же массивом так же как и с "A1.1".
И все это мне нужно для того чтобы решить это:
Теперь мы будем иметь массив "A1.1" как бы полон своими числовыми ключами
которые нужно заменить "ассоциациями" т.е. конвертировать ее в ассоциативный массив
(для этого я так понял нужно создать еще один массив, дать ключам ассоциации и потом с помощью array_flip() поменять местами ключи с значениями и вывести их в браузер)
типа такого:
Array
(
[48TIME1] =>
[3FULL_TIME_GOAL1] => 2
[14FULL_TIME_UDP1] => True
[22FIRST_HALF_A1] => 1
[21FIRST_HALF_H1] => 0
[23FIRST_HALF_GOAL1] => 3238328
[24FIRST_HALF_VER1] => 1-1.5
[25FIRST_HALF_UNDER1] => 2.307
[26EVENT1] => 1.605
[40EVENT1] => h
[28FULL_TIME_UDP1] => 3238329
[29FULL_TIME_H1] => 4-4.5
[30FULL_TIME_A1] => 2.351
[31FULL_TIME_GOAL1] => 1.560
[36FIRST_HALF_A1] => 3237183
[37FIRST_HALF_GOAL1] => 0.5
[38FIRST_HALF_VER1] => 2.754
[39FIRST_HALF_UNDER1] => 1.410
[null] => 3237182
[42FIRST_HALF_A1] => 2.5-3
[43FIRST_HALF_GOAL1] => 2.369
[44FIRST_HALF_VER1] => 1.550
)
Конкретную тему сформулировать не смог в силу того, что задача имеет комплексных характер (или же в моем не одаренности в php).
Но, думаю, эта тема будет качественно-полезна с точки зрения "не дробления" её на несколько.
Заранее извиняюсь если что не так. Критика приветствуется.
Формулировка:
1. Вывожу с помощью цикла foreach() уже заранее "обработанный" текстовый файл содержимое которого ниже
<script type='text/javascript'>
var N1=[];
N1[0]=['00443676','443676','000241','1','7204','Soccer / Australia McInerney Ford Night Series 1st Division ','Rockingham City (N) ','Dianella White Eagles','0729','0',0,'0','1H 26\'','','True',1,'0',0,0,'0','0','0','1','3236954','0-0.5','1.920','1.920','h','3236953','2.0','1.930','1.890','','','','','3238437','0.0','1.540','2.428','','3238438','0.5','1.910','1.910','','','',''];
N1[1]=['222','2223','323','2','','','','','','',,'','','','True',1,'0',0,0,'0','0','0','1','3238435','0.5','2.234','1.650','h','3238436','2-2.5','2.176','1.670','','','','','3236950','0-0.5','2.562','1.480','h','3236949','0.5-1','2.315','1.580','','','',''];
N1[2]=['00443687','443687','001331','1','3034','Soccer / Turkey Youth League','Trabzonspor (Youth)(N)','Ankaragucu (Youth)','0729','0',0,'0','1H 29\'','','True',1,'0',0,1,'1','0','0','1','3237187','1.0','1.805','2.036','h','3237186','4.0','2.025','1.795','','','','','3238330','0-0.5','2.010','1.830','h','3238331','2.5','1.990','1.830','','','',''];
N1[3]=['','','','2','','','','','','',,'','','','True',1,'0',0,0,'0','0','0','1','3238328','1-1.5','2.307','1.605','h','3238329','4-4.5','2.351','1.560','','','','','3237183','0.5','2.754','1.410','h','3237182','2.5-3','2.369','1.550','','','',''];
</script>
PHP:
foreach($out as $v)
{
if(isset($v[2]) && isset($v[3]) && isset($v[4]) )
$n[$v[2]][$v[3]] = eval('return array('.$v[4].');' );
}
print_r($n);
PHP:
.Array ( "А" - массив
. [1] => Array ( "A1" - массив
. [0] => Array ( "A1.1" - массив
. [0] => 00443676
. [1] => 443676
. [2] => 000241
. ***
. [48] => xxx
.
. [1] => Array ( "A1.2" - массив
. [0] => 222
. [1] => 2223
. [2] => 323
. ***
. [48] => xxx
.
. [2] => Array ( "A1.3" - массив
. [0] => 00443687
. [1] => 443687
. [2] => 001331
. ***
. [48] => xxx
Как можно получить массив "А1"
первый ключ которого должен иметь не цифру, а текст - "футбол",
второй - "тенис"
и т.д.
В данном случае у нас массив "А1" - футбол
Задача №2:
Начну с описания проблемы этой задачи потом опишу саму задачу
Проблема :
Дело в том, что элементы массива "A1.2" должны принадлежать массиву "A1.1"- в силу с условием (если в шестом элементе массива "A1.2" нет никакого значения то нужно вывести массивы "A1.1" и "A1.2" как единый целый элемент массива "A1" - т.е. теперь массив "A1.1" должен содержать все элементы массива "A1.2" - общее количество элементов теперь должно быть 96 ).
Также нужно проверить шестой элемент следующего массива - "A1.3" на это условие и также прибавить к тем двум (только уже одному "A1.1" массиву) и т.д.
Когда цикл все таки находит какое-то значение шестой элемент N массива
он должен сделать с этим же массивом так же как и с "A1.1".
И все это мне нужно для того чтобы решить это:
Теперь мы будем иметь массив "A1.1" как бы полон своими числовыми ключами
которые нужно заменить "ассоциациями" т.е. конвертировать ее в ассоциативный массив
(для этого я так понял нужно создать еще один массив, дать ключам ассоциации и потом с помощью array_flip() поменять местами ключи с значениями и вывести их в браузер)
типа такого:
Array
(
[48TIME1] =>
[3FULL_TIME_GOAL1] => 2
[14FULL_TIME_UDP1] => True
[22FIRST_HALF_A1] => 1
[21FIRST_HALF_H1] => 0
[23FIRST_HALF_GOAL1] => 3238328
[24FIRST_HALF_VER1] => 1-1.5
[25FIRST_HALF_UNDER1] => 2.307
[26EVENT1] => 1.605
[40EVENT1] => h
[28FULL_TIME_UDP1] => 3238329
[29FULL_TIME_H1] => 4-4.5
[30FULL_TIME_A1] => 2.351
[31FULL_TIME_GOAL1] => 1.560
[36FIRST_HALF_A1] => 3237183
[37FIRST_HALF_GOAL1] => 0.5
[38FIRST_HALF_VER1] => 2.754
[39FIRST_HALF_UNDER1] => 1.410
[null] => 3237182
[42FIRST_HALF_A1] => 2.5-3
[43FIRST_HALF_GOAL1] => 2.369
[44FIRST_HALF_VER1] => 1.550
)
