Argumenty ve funkci. – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Argumenty ve funkci. – PHP – Fórum – Programujte.comArgumenty ve funkci. – PHP – Fórum – Programujte.com

 

Toto vlákno bylo označeno za vyřešené — příspěvek s řešením.
survik1
~ Moderátor
0
Posthunter
12. 8. 2011   #1
-
0
-

Zdravím. Asi jsem uplně tupý, ale opravdu nemohu najít v následujícím řádku chybu.

function GetOptions($subdomain = NULL, $proxip = $proxyhost, $proxport = $proxyport)

Připadám si opravdu slepej. V případě, že druhý a třetí argument zakomentuju, už mi to bere v pořádku. Vyskakuje chyba:

Parse error: syntax error, unexpected T_VARIABLE in C:\dev\www\***\F_Config\Options.php on line 43

Pokud někdo něco vidíte, budu rád za jakoukoliv pomoc.

Nahlásit jako SPAM
IP: 109.230.216.–
Život je jen hra, která se nedá vyhrát.
survik1
~ Moderátor
0
Posthunter
12. 8. 2011   #2
-
0
-

Tak tomu vadí, že v argumentech přiřazuji proměnnou. Proč? 

Nahlásit jako SPAM
IP: 92.62.224.–
Život je jen hra, která se nedá vyhrát.
zlz
~ Anonymní uživatel
634 příspěvků
12. 8. 2011   #3
-
0
-
Nahlásit jako SPAM
IP: 213.211.51.–
survik1
~ Moderátor
0
Posthunter
12. 8. 2011   #4
-
0
-

Protože $a = 1 funguje, $a = $b nikkoliv. Dokumentaci jsem pročítal, ovšem pomoc mi nedokázala (možná jsem ale něco přehlédl?)

Nahlásit jako SPAM
IP: 92.62.224.–
Život je jen hra, která se nedá vyhrát.
Řešení
zlz
~ Anonymní uživatel
634 příspěvků
12. 8. 2011   #5
-
0
-
Vyřešeno Nejlepší odpověď

A function may define C++-style default values for scalar arguments as follows:
...
PHP also allows the use of arrays and the special type NULL as default values, for example:
...
The default value must be a constant expression, not (for example) a variable, a class member or a function call.

Nahlásit jako SPAM
IP: 213.211.51.–
Šťouchal0
Stálý člen
12. 8. 2011   #6
-
0
-

Co vím, tak nejde jako defaultní hodnotu parametru přiřazovat jinou proměnnou.

Vyřešit to můžeš poměrně jednoduše, například tím, že parametrům dáš defaultní hodnotu NULL a uvnitř těla budeš parametry na tuto hodnotu testovat - případně přiřadíš adekvátní hodnotu.

function GetOptions($subdomain = NULL, $proxip = NULL, $proxport = NULL)
{
	if ($proxip === NULL)
		$proxip = $proxyhost;

	if ($proxport === NULL)
		$proxport = $proxyport;

	....
}
Nahlásit jako SPAM
IP: 213.168.191.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 44 hostů

Podobná vlákna

Tkinter - funkce s argumenty — založil Polarski

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý