Autor Zpráva
Tomáš Jindra
Profil *
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
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
V dokumentaci se jedná o http://www.php.net/manual/en/functions.arguments.php#functions.arguments.default
Tomáš Jindra
Profil *
Cituji: Pužíj function handling functions a vytvořit si funkci s jedním fixním argumentem..

ale nevím jak...
Monkeys
Profil *
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 *
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
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 *
Someone:
Protože to pole potřebují i jiné funkce a třídy...
Borius
Profil
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
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.

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: