|
|
|
|
|
для: Temnovit
(05.02.2009 в 13:46)
| | Еще разок попробую пояснить:
Мне нужно решить такую задачу.
Рассматриваем дочерний нулевой массив первого элемента родительского массива.
Проверяем есть ли что-то в 6 элементе?
Если да то проверяем, существует ли какое-то значение в (6 элементе) следующего идущего элемента массива [1] - первого .
Если да, значит индекс текущего массива не изменяем (т.е. оставляем без изменения).
Если нет - присвоим нулевому элементу массива первый (теперь нулевой элемент
дочернего массива содержит свои элементы и элементы массива который был под номером 1 (как-бы сложение двух элементов)) и желательно проверку делать пока не будет найден 6 элемент с каким-то содержимым.
Если будет такой элемент то оставляем его без изменений и повторяем заново
проверку в следующих элементах на пустоту и т. д. | |
|
|
|
|
|
|
|
для: sapphire
(05.02.2009 в 14:01)
| | Формулировка задачи | |
|
|
|
|
|
|
|
для: Temnovit
(05.02.2009 в 13:46)
| | :) что не понятно? | |
|
|
|
|
|
|
|
для: sapphire
(04.02.2009 в 18:14)
| | >Понятно ли я сформулировал задачу?
Нет :) | |
|
|
|
|
|
|
|
для: sapphire
(04.02.2009 в 18:14)
| | Просто у меня с этим вышел недочет. Логически будет неправильно преобразовать этот массив в ассоциативный пока не решится эта проблема | |
|
|
|
|
|
|
| Есть такой код
$str = '<script type='text/javascript'>
var N1=[];
N1[0]=['00443533','443533','000773','1','10','Soccer / INTERNATIONAL FRIENDLY','Saudi Arabia (N)','Thailand','0204'];
N1[1]=['','','','2','','','','','','',,'','','','True','2','0',0,'0','0';
</script>';
$ptrn = '#(N(\\d+)\\[(\\d+)\\]=\\[(.+)\\];)\\r?\\n#e';
$str = str_replace(',,',',null,',$str);
$x = preg_match_all($ptrn, $str, $out, PREG_SET_ORDER);
foreach($out as $v)
{
if(isset($v[2]) && isset($v[3]) && isset($v[4]) )
$n[$v[2]][$v[3]] = eval('return array('.$v[4].');' );
}
echo '<pre>';
print_r($n);
|
Результат
Array
(
[1] => Array
(
[0] => Array
(
[0] => 00443533
[1] => 443533
[2] => 000773
[3] => 1
[4] => 10
[5] => Soccer / INTERNATIONAL FRIENDLY
[6] => Saudi Arabia (N) /*этот элемент заполнен, если
в следующем N1[1] этот элемент пустой, значит мессив [1] => Array
принадлежит доминирующему [0] => Array. Дальше идем: если снова пустой, значит опять принадлежит. Если заполнен, то ?
(может это дело выводить в еще один уровень массивов?)*/
[7] => Thailand
[8] => 0204
[1] => Array
(
[0] =>
[1] =>
[2] =>
[3] => 2
[4] =>
[5] =>
[6] =>
[7] =>
[8] =>
|
Выходит, массив [0] => Array считается доминирующим (или как его можно назвать), а [1] => Array ему принадлежащий по [6] элементу главного
Понятно ли я сформулировал задачу? Если кто может - помогите. | |
|
|
|
|