Avatar billede plugin- Nybegynder
23. oktober 2004 - 00:07 Der er 7 kommentarer og
1 løsning

hurtig måde at rette forskellige variabler til 0?

Hej eksperter..

Jeg har i øjeblikket en del variabler jeg rodder rundt med og jeg har nu behov for at checke variablernes indhold... men der er så mange at jeg ikke har lyst til at sidde og lave if-sætninger på dem alle

derfor tænkte jeg på om I kendte en smart og hurtig metode til at checke om forskellig navngivne variabler var = '' og hvis de var det, at man så tilskriver dem værdien 0?
Avatar billede rednex Nybegynder
23. oktober 2004 - 00:23 #1
Du kan lave et array med alle variabel navnene i og derefter løbe dem igennem i et foreach() loop:

$test = '';
$test2 = 'hej';
$test3 = '';
$vars = array('test', 'test2', 'test3');

foreach($vars as $var) {
    $$var = empty($$var) ? 0 : $$var;
}
echo "\$test = $test; \$test2 = $test2; \$test3 = $test3";

/Rednex
Avatar billede bojo Nybegynder
23. oktober 2004 - 00:59 #2
du kan bruge dette som et hjælpe værktøj

<?
$source = file_get_contents("den fil du arbejder på.php");
$tokens = token_get_all($source);

foreach ($tokens as $token) {
    list($id, $text) = $token;
      switch ($id) {
          case T_VARIABLE:
            if($fundet[$text]!=1) {
                  $fundet[$text]=1;
                    echo "if( $text=='') $text=0;"."<br>";
                }
      }
}

?>
Avatar billede bojo Nybegynder
23. oktober 2004 - 01:01 #3
hehe - switcher på 1 case, man ser tydligt at det er omskrevet kode :-)
Avatar billede Slettet bruger
23. oktober 2004 - 01:09 #4
Ville det ikke være lettere endnu at have alle variablerne som indekser i et array på samme måde som en række man får med mysql_fetch_assoc() eller $_POST/$_GET/$_SESSION
Avatar billede bojo Nybegynder
23. oktober 2004 - 01:15 #5
jeg opdager lige at han ber om "navgivne vars" min løsning lister alle vars, så ud med den

rednex's løsning er da ok
Avatar billede plugin- Nybegynder
23. oktober 2004 - 01:30 #6
tak for hjælpen :)
Avatar billede plugin- Nybegynder
23. oktober 2004 - 01:34 #7
bojo prøvede lige din for sjov... den skrev følgende fejlmeddelse:

Fatal error: Call to undefined function: token_get_all() in /customers/eerie.dk/eerie.dk/httpd.www/ss/graph/graphs.php on line 201
Avatar billede rednex Nybegynder
23. oktober 2004 - 01:52 #8
Jeg takker for point :o)

token_get_all() findes i PHP fra version 4.2.0 og fremefter, men Tokenizer modulet er først inkluderet som standard fra version 4.3.0. Så hvis du kører med en ældre version af PHP kan det være derfor.

/Rednex
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