Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Array rekurencyjne wpisywanie wartosci
Forum PHP.pl > Forum > PHP
adamli
Mam tablice:
  1. $matchArray = array(
  2. 18 => array("name"=>'vin',"value"=>"","parent"=>"vehicle"),
  3.  
  4. 51 => array("name"=>'damages',"value"=>
  5. array("name"=>'damage',"value"=>
  6. array("name"=>'fixed',"value"=>"","parent"=>"damage")
  7. ,"parent"=>"damages")
  8. ,"parent"=>"vehicle"),
  9.  
  10. );


Teraz musze wszedzie gdzie value nie jest tablica wstawic jakas wartosc...
Wartosc ta jest roznie zaglebiona dlatego tez uzywam funkcji rekurencyjnej
setvalue(). Niestety to co jest w linijce 5 tej funkcji sie nie wykonuje...

dla tej tablicy powinno dzialac jak:$matchArray[51]["value"]["value"]["value"] = "costam2";
niestety nie dziala... czy pomoze tu jakies zastosowanie referencji ?


  1. 1.function setvalue($value,$array){
  2. 2. if(is_array($array["value"])){
  3. 3. setvalue($value,&$array["value"]) ;
  4. 4. }else {
  5. 5. $array["value"] = "costam2";
  6. 6. }
  7. 7.};
  8. 8.
  9. 9. foreach ($matchArray as $key =>$value) {
  10. 10. if (is_array($value["value"])){
  11. 11. setvalue(1,$value["value"]) ;
  12. 12. }else
  13. 13. $matchArray[$key]["value"] = "costam1";
  14. 14. };


Z gory dziekuje za odpowiedz.
Adam
nospor
zapomniales o jeszcze jednym &
foreach ($matchArray as $key =>&$value)

adamli
chyba jeszcze gdzies bo nie dziala...
nospor
  1. function setvalue($value,&$array){
  2. if(is_array($array["value"])){
  3. setvalue($value,&$array["value"]) ;
  4. }else {
  5. $array["value"] = "costam2";
  6. }
  7. };
  8.  
  9. foreach ($matchArray as $key =>&$value) {
  10. if (is_array($value["value"])){
  11. setvalue(1,$value["value"]) ;
  12. }else
  13. $matchArray[$key]["value"] = "costam1";
  14. };

działa smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.