[PHP][Recursion]Извеждане на текущото ниво

C++ JAVA
User avatar
xlebabarov
Нов
Нов
Posts: 186
Joined: Tue Nov 10, 2009 6:24 am

Post by xlebabarov » Fri Jun 28, 2019 12:47 pm

dakata__92 wrote:
xlebabarov wrote:Мисля, че съм обединил достатъчно подробно. Който има необходимите познания и желае да помогне ще го направи. Ако си от неразбиращата група моля не ми оспамвай темата, особенно господина от по предния коментар. СТИГА ЗАЯЖДАНИЯ
Абе ти тъп ли си или на такъв се правиш? :!: Нищо не си "обединил" или обяснил. Щом ти изискваме трима човека по-подробно разяснение, то сметни сам колко добре си се представил... Вместо да размиваш темата сам, по-добре да беше обяснил какво искаш. ЗА ПОРЕДЕН коментар ти го казваме, ОБЯСНИ НИ какво искаш да направиш. :evil:
xlebabarov wrote:Добре, да речем, че сортираме масива с ksort($a) рекурсивно:

Code: Select all

Array
(
    [] => Array
        (
            [ar] => Array
                (
                    [0] => 
                    [freesby] => Array
                        (
                            [0] => 
                            [johnson] => 
                            [1] => 
                        )

                    [kenneth] => 
                )

            [3] => 
            [4] => 
            [5] => 
        )

    [1] => Array
        (
            [3] => 
            [4] => 
            [5] => 
        )

)
Сега да обесня за какво точно говоря :twisted:
Резултата от изпълнението на моята горна функция е (респективно) следния:

Code: Select all

-
-ar
0
-freesby
0
johnson
1
kenneth
3
4
5
-1
3
4
5
Затова исках да го ксортна за да добие смисъл резултата от изпълнението на функцията ксорт преди самата рекурсия. Бих искалв аргумента $pass да се задава нещо като:

Code: Select all

[1]Стъпка
-ключ(''=>масив)стойност на $pass=>array(''=>array());
[2]Стъпка
-ключ(''=>array('ar'=>масив))стойност на $pass=>array(''=>array('ar'=>array())); 
[3]Стъпка
-ключ(''=>array('ar'=>array(0=>'')))стойност на $pass=>array(''=>array('ar'=>array(0=>true))); 
[4]Стъпка
-ключ(''=>array('ar'=>array(0=>'', 'freesby'=>масив)))стойност на $pass=>array(''=>array('ar'=>array(0=>true, 'freesby'=>array()))); 
Т.е. същото като @Revelation само че вместо цифра да блъска масив с ключа и стойност в $pass

Това как би се случило? Защото ползването на цифра като индекс за това на кой ключ се намира дълбочината пренебрегва ключовете стрингове.
Готово. Стига с обидите както казах или ще се обърна към Боби. Пак казвам ако не разбираш не пиши не ми е нужно обидското ти мнение. А и съществува автокорект

НЕ МИ СПАМЕТЕ ТЕМАТА
Гошо пича ;) Понякога питам въпросчета с повишена трудност, но какво да се прави :)

pix3l
Нов
Нов
Posts: 161
Joined: Sat Oct 08, 2016 2:31 pm

Post by pix3l » Fri Jun 28, 2019 3:41 pm

Дай пример за резултата, който искаш да постигнеш. Тоя масив няма никакъв смисъл... защо ще държиш празни масиви?

User avatar
Revelation
Web-tourist
Web-tourist
Posts: 883
Joined: Sun Mar 24, 2013 1:23 pm
Answers: 63

Post by Revelation » Fri Jun 28, 2019 10:06 pm

Image

User avatar
dakata__92
Web-tourist
Web-tourist
Posts: 3296
Joined: Tue Aug 02, 2011 7:24 pm
Answers: 126

Post by dakata__92 » Sat Jun 29, 2019 1:27 pm

Колеги, понеже сме гадатели да метнем малко боб и да побаем на буркан с ракия, че да разгадаем поста на нашия съфорумник. Човека вместо с 5 реда да се опита да ни разясни по-добре какво иска, твърдоглаво продължава да ни казва, че това което ни е обяснил ни е достатъчно за да му помогнем. :D
Е как да му помогнем, когато той самия не знае какво иска. Ако си бе направил труда да ни даде качествен пример с обяснение какво от този масив къде и по какъв начин иска да бъде съхранено добре. За мен да пълни излишни масиви хе така за спорта да си прави карта на масива е излишно. Товари се паметта излишно...

User avatar
dakata__92
Web-tourist
Web-tourist
Posts: 3296
Joined: Tue Aug 02, 2011 7:24 pm
Answers: 126

Post by dakata__92 » Sat Jun 29, 2019 3:32 pm

Нещо такова ли искаш? Ключ, и като стойност нивото на масива за тази прословута карта?

http://sandbox.onlinephpfunctions.com/c ... f4f6fce709

[php]
<?php
$array = [
'one' => 1,
'two' => [
'two' => 2,
'three' => [
'three' => 3,
'four' => 4
]
],
'three' => 3,
'four' => [
'four' => 4,
'five' => 5,
'six' => [
'six' => 6,
'seven' => [
'seven' => 7,
'eight' => 8
]
]
]

];


function recursion(Array $array, $level = 0) {
foreach ($array as $key => $value) {
if (is_array($value)) {
$recursion[$key] = recursion($value, $level+1);
} else {
$recursion[$key] = $level;
}
}
return $recursion;
}


$r = recursion($array);
print_r($r);


[/php]

User avatar
Revelation
Web-tourist
Web-tourist
Posts: 883
Joined: Sun Mar 24, 2013 1:23 pm
Answers: 63

Post by Revelation » Sat Jun 29, 2019 7:16 pm

dakata__92 wrote:Колеги, понеже сме гадатели да метнем малко боб и да побаем на буркан с ракия, че да разгадаем поста на нашия съфорумник. Човека вместо с 5 реда да се опита да ни разясни по-добре какво иска, твърдоглаво продължава да ни казва, че това което ни е обяснил ни е достатъчно за да му помогнем. :D
Е как да му помогнем, когато той самия не знае какво иска. Ако си бе направил труда да ни даде качествен пример с обяснение какво от този масив къде и по какъв начин иска да бъде съхранено добре. За мен да пълни излишни масиви хе така за спорта да си прави карта на масива е излишно. Товари се паметта излишно...
То не е до памет тука, а до дизайн. Цялата гимнастика е просто глупава.

User avatar
dakata__92
Web-tourist
Web-tourist
Posts: 3296
Joined: Tue Aug 02, 2011 7:24 pm
Answers: 126

Post by dakata__92 » Sun Jun 30, 2019 11:05 am

Revelation wrote:
dakata__92 wrote:Колеги, понеже сме гадатели да метнем малко боб и да побаем на буркан с ракия, че да разгадаем поста на нашия съфорумник. Човека вместо с 5 реда да се опита да ни разясни по-добре какво иска, твърдоглаво продължава да ни казва, че това което ни е обяснил ни е достатъчно за да му помогнем. :D
Е как да му помогнем, когато той самия не знае какво иска. Ако си бе направил труда да ни даде качествен пример с обяснение какво от този масив къде и по какъв начин иска да бъде съхранено добре. За мен да пълни излишни масиви хе така за спорта да си прави карта на масива е излишно. Товари се паметта излишно...
То не е до памет тука, а до дизайн. Цялата гимнастика е просто глупава.
Зависи за какво му е нужно да има тези неща, но да съгласен съм, че е глупаво.

User avatar
xlebabarov
Нов
Нов
Posts: 186
Joined: Tue Nov 10, 2009 6:24 am

Post by xlebabarov » Tue Jul 02, 2019 10:40 am

EDIT: Кода си го написах 5 мин. след като написах пояснението, щото очевадно няма кой да помогне. Ако на някой му трябва да драсне едно ЛС ще споделя. :cry:

Та какво казвахте?
Гошо пича ;) Понякога питам въпросчета с повишена трудност, но какво да се прави :)

Locked