Autor | Zpráva | ||
---|---|---|---|
Tomáš Jindra Profil * |
#1 · Zasláno: 3. 10. 2013, 15:56:41
Ahoj, neví někdo zápis v php pro funkci s fixním argumentem? Nemůžu nic najít a v anglickém manuálu jsem toho jak čech moc nevyčetl :-( Díky za případnou pomoc
|
||
juriad Profil |
#2 · Zasláno: 3. 10. 2013, 16:49:11
Co myslíš fixním argumentem? Pokud bys měl na mysli výchozí hodnotu parametru:
function pozdrav($jmeno, $pozdrav = 'Ahoj') { echo $pozdrav . $jmeno; } pozdrav('Tomáši'); # Ahoj Tomáši pozdrav('Tomáši', 'Nazdar'); # Nazdar Tomáši pozdrav('Tomáši', 'Dobrý den') # Dobrý den Tomáši |
||
Tomáš Jindra Profil * |
#3 · Zasláno: 3. 10. 2013, 16:54:42
Cituji: Pužíj function handling functions a vytvořit si funkci s jedním fixním argumentem..
ale nevím jak... |
||
Monkeys Profil * |
#4 · Zasláno: 3. 10. 2013, 17:50:40
Tomáš Jindra:
Funkciu mozes vytvorit aj bez argumentov staci do nej umestnit func_get_args private function test() { $arg = func_get_args(); // funkcia vracia pole ... } M. |
||
Tomáš Jindra Profil * |
#5 · Zasláno: 3. 10. 2013, 23:00:48
Monkeys:
A co jsi tím chtěl říct? Já se ptal na to, jak dostat proměnnou dovnitř funkce bez použití parametru při volání dané funkce nebo jako parametrem ale přímo kdy je systémem načítana jako funkce. Teď to mám takto $arr = array(1 => 464, 2 => 7464, 3 => 2544, 4 => 436, 5 => 999) ; function test($i, $arr) { return $i; } a musím to volat test(1, $arr); čili pokud to budu volat z nějaké class tak přes tu class musím zbytečně tahat $arr abych ho předal test(1, $arr) a ta ho předala funkci... no skoč do zdi! chci nastavit funkci $arr přímo a volat jen s jedním parametrem... Díky |
||
Someone Profil |
#6 · Zasláno: 3. 10. 2013, 23:03:06
Proč to pole prostě nešoupneš do té funkce?
function test($i) { $arr = array(1 => 464, 2 => 7464, 3 => 2544, 4 => 436, 5 => 999) ; return $i; } |
||
Tomáš Jindra Profil * |
#7 · Zasláno: 3. 10. 2013, 23:18:50
Someone:
Protože to pole potřebují i jiné funkce a třídy... |
||
Borius Profil |
#8 · Zasláno: 3. 10. 2013, 23:32:22
Tomáš Jindra:
„jak dostat proměnnou dovnitř funkce bez použití parametru při volání dané funkce“ Což si tu proměnnou uvnitř funkce zviditelnit tím, že tam z ní uděláš globální proměnnou? $arr = array(1 => 464, 2 => 7464, 3 => 2544, 4 => 436, 5 => 999) ; function test($i){ global $arr; return $i; } |
||
peta Profil |
function test($i, &$arr) { $i = $arr[$i]; $arr[0] = 'ccc'; return $i; } $a = array('aaa','bbb'); echo '<pre>'; print_r($a); echo test(1,$a); print_r($a); |
||
Tori Profil |
#10 · Zasláno: 4. 10. 2013, 14:10:53
Tomáš Jindra:
„Protože to pole potřebují i jiné funkce a třídy...“ Máte víc takových proměnných, které jsou potřeba v různých částech programu? Možná by stačilo udělat statický registr (což je o něco slušnější varianta toho global $promenna; ). Je více než jedna funkce/metoda, která to pole i mění, anebo z něj většina funkcí jen čte?
Nebo by to pole možná mělo patřit jako vlastnost do některé třídy, s níž souvisí. Pak by k němu přistupovalo přes tu třídu. S přesnějšími informacemi typu jaká data jsou v tom poli a kde s nimi chcete pracovat, by se lépe radilo. |
||
Časová prodleva: 11 let
|
0