Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

What value is printed for "a" below? | myphpquiz.com

  • 7 odgovora
  • 2.922 pregleda

Najnovija ↓

What value is printed for "a" below? | myphpquiz.com 22.12.2011. u 17:42 · pre 180 meseci #1
What value is printed for "a" below
Code:

<?php

    $a = 1;

    function Test()
    {
        echo "a = $a";
    }
    Test();
?>


Odgovori:
1, 2, 3, no value.

Moj odgovor je 1, ali nije tačno, već je "no value". Zašto?
Potpis
Knjiga, SLOBODA!
Re: What value is printed for "a" below? | myphpquiz.com 22.12.2011. u 18:22 · pre 180 meseci #2
Ako tebi lično nije jasno, a ne testiraš nikoga ovde, onda treba samo da staviš global $a; pre echo "a=$a"; ili da definišeš $a unutar same f'je.

Code (php):


  $a = 1;

    function Test()
    {
        global $a;
        echo "a = $a";
    }

    Test();

 


Code (php):


    function Test()
    {
        $a = 1;
        echo "a = $a";
    }

    Test();

 



Code (php):


  $a = 1;

    function Test($a)
    {
        echo "a = $a";
    }

    Test($a);

 
Potpis
about:networking
Re: What value is printed for "a" below? | myphpquiz.com 22.12.2011. u 18:24 · pre 180 meseci #3
Code (php):

<?php

    $a = 1;

    function Test()
    {
        echo "a = $a";
    }
    Test();
?>
 

Zato sto varijable definisane izvan funkcije nisu vidljive u funkciji.

Ovo je moguce:
Code (php):

<?php

    function Test()
    {
        $a = 1;
        echo "a = $a";
    }
    Test();
?>
 


To mozes ovako resiti:
1. Prenos varijabli
Code (php):

<?php

    $a = 1;

    function Test($b) // moze i $a koji nije isti sa onim $a = 1 ali sam stavio $b da te ne buni
    {
        echo "a = $b";
    }
    Test($a);
?>
 


2. Koriscenjem global naredbe (nije preporucljivo)
Code (php):

<?php

    $a = 1;

    function Test()
    {
        global $a;
        echo "a = $a";
    }
    Test();
?>
 

Potpis
[Ovu poruku je menjao VladaSu dana 14.06.2003. u 11:22 GMT+1]
Re: What value is printed for "a" below? | myphpquiz.com 23.12.2011. u 20:04 · pre 180 meseci #6
@Miloš Bjelanović

Nema na čemu.

Što se tiče 'global' rešenja, ako je promenjiva prost integrer (kao u ovom primeru) i primenjue se u sasvim prostim funkcijama za statični sadržaj, gde nema formi, itd. onda možeš i global varijantu.
Potpis
about:networking
Re: What value is printed for "a" below? | myphpquiz.com 24.12.2011. u 00:33 · pre 180 meseci #7
Citat:
Miloš Bjelanović: Sad mi je jasno - promjenljiva mora biti definisana unutar funkcije, ili povezana sa promjenljivom van funkcije preko riječi "global".
Hvala obojici.

Preskocio si i ovo resenje:
Code:
$a = 1;

     function Test($a)
     {
         echo "a = $a";
     }

     Test($a);

Takodje mozes da pises samo
Code:


     function Test($a)
     {
         echo "a = $a";
     }

     Test(1);

I ako hoces da samo vratis vrednost iz funkcije, mozes da koristis return $a;
Re: What value is printed for "a" below? | myphpquiz.com 24.12.2011. u 01:58 · pre 180 meseci #8
A moze i:
Code (php):


     function Test($a = 5)
     {
         echo "a = $a";
     }

     $b = 3;
     Test();
     Test(2);
     Test($b);

 
Potpis
[Ovu poruku je menjao VladaSu dana 14.06.2003. u 11:22 GMT+1]
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme