Avatar billede jaboo Nybegynder
01. august 2001 - 16:55 Der er 9 kommentarer

Hvordan kan jeg checke om en variabel er sat ?

Jeg er i nedenstående funktion nød til at sætte eval($name) til 0 hvis ikke variablen eval($name) er blevet sat. Hvordan gør jeg det ?


    function point_ok ($name, $point) {

        $point = parseInt($point);

        if ($point < $user_point) {
            $user_point = $user_point - $point;
            eval($name + \"=\" + $point);
            return $point;
        } else {
            $return = $user_point;
            $user_point = 0;
            eval($name + \"=\" + $return);
            alert(\"Du har ikke point nok !\");
            return $return;
        }
    }
Avatar billede nephilim Nybegynder
01. august 2001 - 17:01 #1
hvad med at starte med at saette den til 0, hvis den saa ikke bliver sat, forbliver den 0
Avatar billede jaboo Nybegynder
01. august 2001 - 17:02 #2
det kan jeg ikke da jeg ikke ved hvilke variable jeg har
Avatar billede jakoba Nybegynder
01. august 2001 - 17:05 #3
try { $tmp = $eval } catch { $eval=0 };

men det skulle undre mig om ikke der er en smartere måde.

PS: det er da vist mere et PHP spørgsmål er det ikke?

mvh JakobA
Avatar billede olebole Juniormester
01. august 2001 - 17:22 #4
<ole>
I php hedder det vel noget à la:

function point_ok ($name, $point) {
    if (!isset($name)) {
      $name = 0;
    }
...osv

Se evt: http://www.php.net/manual/en/function.isset.php
/mvh
</bole>
Avatar billede jakoba Nybegynder
01. august 2001 - 17:29 #5
olebole >> Ja den ser godtnok noget bedre ud :-)
Avatar billede jaboo Nybegynder
02. august 2001 - 09:29 #6
nej, det er JavaScript.

JakobA : Den virker ikke ? Den giver fejl.
Avatar billede tknudsen Nybegynder
07. august 2001 - 12:14 #7
if($name)
  // $name er forskellig fra 0, false og nil
else
  $name=0;
Avatar billede jaboo Nybegynder
13. august 2001 - 11:46 #8
men $name er navnet på den variabel jeg skal checke, så jeg er nød til at gøre det således :

        if (eval($name)) {
            $user_point += eval($name);
        }

og så sker fejlen ?! :(
Avatar billede jakoba Nybegynder
13. august 2001 - 13:11 #9
også hvis du skriver oleboles kode foran:

    if (!isset($name)) {
      $name = 0;
    }
    $user_point += eval($name);
    ...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester