Autor Zpráva
jefitto44
Profil
Mám nejakú funkciu
public function funkcia($this->$array)
Pred tým mám hore definované
public $array = array(
"index1" => "polozka1",
"index2" => "polozka2",
"index3" => "polozka3",
"index4" => "polozka4",
"index5" => "polozka5"
)

Čo ak chcem poslať do tejto funkcie túto premennú, ale s tým, že niektoré položky poľa si chcem prenastaviť? Musí to byť v dfanej funkcii... akosa to dá?
tiso
Profil
Nerozumiem čo presne myslíš.
<?php
$a = new a();
$a->run();//pracuje s $this->b
$a->run(array('e' => 'ee'));//pracuje s polom z parametra

class a {
    public $b = array(
        'c' => 'cc',
        'd' => 'dd',
    );
    
    public function run($array = NULL) {
        if (is_null($array)) {
            $array = $this->b;
        }
        //pracuj s polom
    }
}
Alebo niečo iné?
Joker
Profil
jefitto44:
niektoré položky poľa si chcem prenastaviť
Eh?
Položky pole se přenastaví přiřazením:
$pole["index"] = "něco jiného";
Juraj Hajdúch
Profil
Presne som neporozumel vašej otázke, ale ak

public $array = array(
  "index1" => "polozka1",
  "index2" => "polozka2",
  "index3" => "polozka3",
  "index4" => "polozka4",
  "index5" => "polozka5"
)

// TOTO MÁTE ZLE, 
// k definovaným premenným v triede 
// sa pristupuje $this->array (bez toho doláru)
public function funkcia($this->$array)

// MYSLELI STE TOTO?
public function funkcia(){
   // zmana prvku/prvov
   $this->array["index1"] = "nova_polozka1";
   return $this->array;
}

tak metóda vám vráti celé, vo funkcii upravené pole $array:

public $array = array(
  "index1" => "nova_polozka1",
  "index2" => "polozka2",
  "index3" => "polozka3",
  "index4" => "polozka4",
  "index5" => "polozka5"
)
jefitto44
Profil
Áno, presne takto som to myslel... ďakujem aj za ten dolár.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: