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)


Recent am realizat un magazin online cu haine bebelusi ieftine si de calitate.

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!
Recent am realizat un magazin online cu haine bebelusi ieftine si de calitate.


Înapoi la “Cod PHP”

Cine este conectat

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