Autor Zpráva
quatzael
Profil
Pochopil jsem dobře, že když nevypíšu poslední parametr, tak se automaticky proměnné $now přiřadí aktuální datum (CASE I.)? Co když, ale budu chtít vynechat nějaký prostřední parametr (CASE II.)? Stačí jen takhle oddělit prázdné místo čárkami?

function contract_dates($start,$end,$duration,$now = date_create())
{
//some code
}
// volání funkce
contract_dates($start,$end,$duration);    //CASE I.
contract_dates($start,$end,,$now);         //CASE II.
DJ Miky
Profil
Ne a ne:
1) Jako výchozí hodnotu parametru lze přiřadit pouze konstantní hodnotu, nikoliv výraz (např. volání funkce).
2) Nelze vynechat povinný parametr. Co by mělo být jeho hodnotou v těle funkce, kdyby se dal vynechat? Pokud má být nepovinný, nastav ho jako nepovinný (přiřaď mu výchozí hodnotu). V případě, že bys měl dva nepovinné parametry a chtěl vynechat pouze ten první, musíš mu i tak předat hodnotu, buď rovnou tu výchozí, nebo např. null (pokud dává smysl) a v těle funkce si tento případ ošetřit.

Oba uvedené případy ti parser nevezme.
quatzael
Profil
DJ Miky:
Ok, díky.

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: