Обход многомерного массива

puzer

Новичок
Обход многомерного массива

Вопрос такой, есть массив с неопределенной размерность вида ...


параметр_1 | Параметр_2 | ... | Параметр_n
___________|___________|_______|___________
X11 | X12 | ... | X1n
X21 | X22 | ... | X2n
... | ... | ... | ...
Xm1 | Xm2 | ... | Xmn


Задача создать цикл для обхода этого массива и поочередного сравнения значений в столбцах X11 c X12 , X11 c X22 и т.д.
 

sage

Новичок
ты мог привести кусок массива? а то ничего не понятно =)
 

Kelkos

Сам себе программер
Задача создать цикл для обхода этого массива и поочередного сравнения значений в столбцах X11 c X12 , X11 c X22 и т.д.
что то подсказывает мне, что кто то решает тестовое задание при приёме на работу.. или задачку по информатике..

но как то неправильно зачала поставлена. массив то неограниченно-мерный, а не двух-мерный по условию.
 

puzer

Новичок
Автор оригинала: sage
ты мог привести кусок массива? а то ничего не понятно =)
Вообщем для наглядности представлю его так

$array[par_1][str_1] = ...
$array[par_1][str_2] = ...
$array[par_1][str_3] = ...

$array[par_2][str_1] = ...
$array[par_2][str_2] = ...
$array[par_2][str_3] = ...

.......

Так вот нужно сравнивать ключи str одного par c другим par :)

И размерность не известна .....
 

feedbee

Новичок
foreach ( $array as $k => $v )
foreach ( $v as $k1 => $v1 )
foreach ( $array as $k3 => $v3 )
foreach ( $v3 as $k4 => $v4 )
if ( $k4 == $k1 ) echo "Совпадение!";

Если я правильно понял...
 

puzer

Новичок
Автор оригинала: Kelkos
приведи целиком текст задачи.. а то щас нагадем тебе..
Вообщем есть текст с набором слов, разбиваем его в массив, в нем производится поиск по определенному словосочитанию например "слово_1 слово_2 слово_3", тоесть этот массив поочередно проходим в поисках сначала слова_1, потом слова_2 и т.д. а результаты склаываем в массив вида $array[слово_1][номер ячейки] = ... (равно условному значению, сообщает о том в какой форме найдено слово, целиком или частично).

После поиска нужно определить лучшее место от куда из массива выдернуть кусок текста, что бы в него попало как можно больше запрашиваемых слов, в первую очередь те которые стоят рядом ....
 
Сверху