O recursivitate pe care nu o inteleg

Ai o întrebare legată de PHP? Incercăm să îi găsim soluţie. Sau poate doar vrei să publici un cod interesant.

Moderatori: Zamolxe, Moderatori

clickymedia
Junior Member
Mesaje: 45
Membru din: Mie Iun 17, 2015 2:11 pm
Contact:

O recursivitate pe care nu o inteleg

Mesajde clickymedia » Vin Feb 23, 2018 9:28 pm

Salutare,

Imi poate explica si mie cineva ce semnificate are & in php si cand este indicat sa-l folosim.
Stiu ca ( && se poate folosi in loc de AND)
Scriptul de mai jos functioneaza perfect cu acest semn & dar nu reusesc sa inteleg ce rol are acesta in script.

Cod: Selectaţi tot

Structura tabel cms ( id | parent | name )
$items = mysql_fetch_row(mysql_query("SELECT * FROM cms"));
$refs = array();
$tree = array();
foreach ($items as $v){
   $ref  =& $refs[$v['id']];
   $ref['parent'] = $v['parent'];
   $ref['name'] = $v['name'];
   if ($v['parent'] == 0) {
      $tree[$v['id']] =& $ref;
   } else {
      $refs[$v['parent']][$v['id']] =& $ref;
   }
}
echo print_r($tree)


Pe caut hotel gasesti case si apartamente de inchiriat in regim hotelier.

nevvermind
Senior Member
Mesaje: 1264
Membru din: Mar Iun 22, 2010 3:17 pm

Re: O recursivitate pe care nu o inteleg

Mesajde nevvermind » Sâm Feb 24, 2018 3:53 pm

Sincer, nici eu nu inteleg. E prea complicat codul ala. Si doar din punctul asta de vedere, e cod prost. E.. smecher, pt hackereala. Pt unii e-n regula, dar daca-l vei folosi in productie, vei avea probleme sa-ti dai seama ce face.
Evita cod prea inteligent.

Continuand. Problema ta nu e recursivitate. Aia-i altceva.

Ampersandul inseamna "pass by reference".
$a = $b, imprumuta valori, dar $a =& $b imprumuta "pointer-e" PHP. Mai curat se scrie $a = &$b. Acum e oleaca mai clar: $a va stoca "pointer-ul" lui $b.

Problema cu scrierea $a =& $b este ca poate fi usor confudata cu $a &= $b, ceea ce cred ca ai si facut. Aia e o forma prescurtata a lui $a = $a & $b, iar, aici, ampersandul este "bitwise operator":

Niste linkuri:
- http://php.net/manual/en/language.references.php
- http://www.php.net/manual/en/language.o ... itwise.php
- http://php.net/manual/en/language.opera ... gnment.php
Facusi un canal de php pe freenode - ##php-ro : https://webchat.freenode.net/

clickymedia
Junior Member
Mesaje: 45
Membru din: Mie Iun 17, 2015 2:11 pm
Contact:

Re: O recursivitate pe care nu o inteleg

Mesajde clickymedia » Mie Mar 21, 2018 8:33 pm

Multumesc frumos pentru raspuns!
Pe caut hotel gasesti case si apartamente de inchiriat in regim hotelier.


Înapoi la “Cod PHP”

Cine este conectat

Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 13 vizitatori