Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] zapis wyniku funkcji do zmiennej
Forum PHP.pl > Forum > PHP
endr1u
Witam, mam pytanie czy da sie zapisac wynik funkcji do zmiennej, powiedzmy ze mam taki kod :
Kod
function ala()
{
echo "mam na imie ala";
}

nastepnie chce zapisac wynik funkcji do zmiennej
Kod
$zmienna = ala();

i teraz nie wiem dlaczego gdy wchodze w localhost'a to wychodzi mi wynik funkcji chociaz nawet jej nie wywolalem wczesniej poleceniem
Kod
echo $zmienna;
MiFlo
oczywiscie
  1. <?php
  2. function ala()
  3. {
  4. return "mam na imie ala";
  5. }
  6. $zmienna = ala();
  7. ?>

Polecam jakiś kurs smile.gif
djstrong
Wywołałeś przecież tu:
  1. <?php
  2. $zmienna = ala();
  3. ?>


Aby funkcja coś zwracała trzeba w niej umieścić return i co ma zwrócić, np.:
  1. <?php
  2. return 'ala ma kota';
  3. ?>
endr1u
Cytat(djstrong @ 10.02.2009, 10:40:05 ) *
Wywołałeś przecież tu:
  1. <?php
  2. $zmienna = ala();
  3. ?>


Aby funkcja coś zwracała trzeba w niej umieścić return i co ma zwrócić, np.:
  1. <?php
  2. return 'ala ma kota';
  3. ?>


wiem ze wywolalem ale zapisalem ja do zmiennej a zmiennej nie wypisalem na ekran.. a mimo to pojawila sie na ekranie o to mi chodzi.
Gdy naprzyklad zapisuje cos do zmiennej $xyz = 50; to wtedy aby wyswietlic wynik musze zrobic echo $xyz; a jak robie tak z funkcja $zmienna = funkcja(); wtedy odrazu mi sie wyswietla wynik funkcji mimo tego, ze nie wywolalem zmiennej. czy to normalne?
phpion
Cytat(endr1u @ 10.02.2009, 13:02:07 ) *
czy to normalne?

Tak, to normalne. W przypadku Twojego pierwszego posta w zmiennej $zmienna nie masz "mam na imie ala" tylko wartość NULL.
  1. <?php
  2. function ala() {
  3.    echo "mam na imie ala";
  4. }
  5.  
  6. $zmienna = ala();
  7.  
  8. var_dump($zmienna);
  9. ?>

Dlaczego? Bo nic nie zwracasz. Tak jak pisali poprzednicy - użyj return aby zwrócić wartość do zmiennej.
  1. <?php
  2. function ala() {
  3.    return "mam na imie ala";
  4. }
  5.  
  6. $zmienna = ala();
  7.  
  8. var_dump($zmienna);
  9. ?>
nospor
Cytat
to wtedy aby wyswietlic wynik musze zrobic echo $xyz
blinksmiley.gif
No przeciez w funkcji tez robisz echo!

Cytat
function ala()
{
echo "mam na imie ala";
}

echo wywala na ekran nie zaleznie czy to funkcja czy nie. Podano ci juz w poprzednich postach jak masz zrobic
em1X
  1. <?php
  2. function ala() {
  3. print 'ala ma kota';
  4. }
  5.  
  6. ala();
  7. $content = ob_get_flush();
  8.  
  9. print $content;
  10. ?>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.