<?php
$a = array(1, 2, 3);
$a['ref'] =& $a;
$a[] = 5;
foreach ($a as $id=>$row){
if (is_array($row)){
if (print_r($row[$id],1)==print_r($row,1)){
echo 'Типа рекурсия и все такое';
}
}
}
?>
Пораскинте мозгами Php программеры
<?
$a = array(1, 2, 3);
$a['ref'] =& $a;
$a[] = 5;
?>
Recursive array on position `ref`
(С) Leon Killer
=\ Я уже ничего о пхп толком не помню ^_^ Вот что знач не занимаюсся.. Но думаю достаточно проверять является ли элемент массивом и если да то добавлять в него какое-нибудь уникальное значение (по [], оно тогда будет под последним численным индексом) и сверять с последним значением под численным индексом в исходном массиве. Если они совпадают - это оно, если нет, не оно =)ъ Ну естесно на кжадом шаге за собой все подчищать.. Ничего другого в башку не пришло =\
Цитата:
Originally posted by Shiizoo
=\ Я уже ничего о пхп толком не помню ^_^ Вот что знач не занимаюсся.. Но думаю достаточно проверять является ли элемент массивом и если да то добавлять в него какое-нибудь уникальное значение (по [], оно тогда будет под последним численным индексом) и сверять с последним значением под численным индексом в исходном массиве. Если они совпадают - это оно, если нет, не оно =)ъ Ну естесно на кжадом шаге за собой все подчищать.. Ничего другого в башку не пришло =\
=\ Я уже ничего о пхп толком не помню ^_^ Вот что знач не занимаюсся.. Но думаю достаточно проверять является ли элемент массивом и если да то добавлять в него какое-нибудь уникальное значение (по [], оно тогда будет под последним численным индексом) и сверять с последним значением под численным индексом в исходном массиве. Если они совпадают - это оно, если нет, не оно =)ъ Ну естесно на кжадом шаге за собой все подчищать.. Ничего другого в башку не пришло =\
Ti poprobui eto sdelat' na praktike, t.e. napisat' funkziu kotoraia budet eto proveriat'. Zadachka prostaia no na soobrazitel'nost' :)
Esli ne pomnish php, to luchshe ne lez' :)
Цитата:
Originally posted by BeOne
Код:
<?php
$a = array(1, 2, 3);
$a['ref'] =& $a;
$a[] = 5;
foreach ($a as $id=>$row){
if (is_array($row)){
if (print_r($row[$id],1)==print_r($row,1)){
echo 'Типа рекурсия и все такое';
}
}
}
?>
$a = array(1, 2, 3);
$a['ref'] =& $a;
$a[] = 5;
foreach ($a as $id=>$row){
if (is_array($row)){
if (print_r($row[$id],1)==print_r($row,1)){
echo 'Типа рекурсия и все такое';
}
}
}
?>
Это, имхо, не экономно. А свой вариант я не реализую потому что вообще забыл как в пхп с массивами работать ^_^