Om jag kallar pa en function() jag skrivit som inte returnerar nonting; kan jag da na dom variablerna pa nott sett dom variabler som skapas i funktionen? Funktionerna innehaller som ni ser 'echo'.
Typ, hur far man detta att fungera?
<?
function Testing() {
if (1<2) { $size = "yes"; }
echo "Some text and stuff";
}
function Testing2() {
global $size;
if ($size = "yes") { echo "Found!" }
echo "Some other stuff text";
}
?>
<td><? Testing(); Testing2() ?></td>
Ovanstande kod fungerar i PHP4, men gor den det i PHP3? Finns det nagra tydliga fallor?
------------------
¬ peterbe.com¬
[Redigerat av petergrennanet den 04 aug 2000]
[Redigerat av petergrennanet den 04 aug 2000]
nicclasMedlem sedan feb. 20001 050 inlägg Hejsan,
Det finns en bugg i ditt exempel som antagligen får dig att tro att detta fungerar, men det gör det inte, och skall inte göra!
if ($size = "yes") { echo "Found!" }
skriver alltid ut "Found!" då du inte gör någon jämförelse. Jämforelse kan du göra med ==, = gör en tilldelning, och en sådan är alltid sann!
Däremot går det att modifiera variabler inne i en funktion. Exempel:
<?
$text="www.allanyheter.com";
function byt(){
global $text;
$text="www.nic-sys.se";
}
echo $text;
byt();
echo $text;
?>
i övrigt fungerar scope:en som i C/C++.
Ok?
/nicclas ::: http://www.allanyheter.com - Nyhetsrubriker på DIN hemsida
[Redigerat av nicclas den 04 aug 2000]
woodiMedlem sedan feb. 20001 270 inlägg Amen.
------------------
woodi
Svenska FF1
www.johan-skog.nu