Toon posts:

[PHP] variabelen vergelijken

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ja, ik heb een heel erg simpele vraag, waar ik al heel lang geen antwoord op kan vinden. Het schijnt dus toch moeilijker te zijn, dan ik dacht.
Voor een foto-pagina zijn de foto's genummerd als "rolnummer-fotonummer.jpg" Nu sloop ik alles eraf tot ik alleen het fotonummer over heb. Die wil dan vervolgens in een bepaalde volgorde in een array zetten. Hiervoor kijk ik of het fotonummer een bepaalde waarde heeft. Bij foto's kan echter ook '0', '00', 'X' en 'XX' voorkomen. Ik kan echter '0' en '00' niet scheiden.
PHP:
1
<?      $tmp = str_replace("t.jpg", "", $files[$a]);      $tmp = str_replace('a', '', $tmp);      $tmp = str_replace('A', '', $tmp);      $tmp = (string) substr($tmp, 8, 2);      if ($tmp == 'XX') $effe[0] = $files[$a];      elseif ($tmp == 'xx') $effe[0] = $files[$a];      elseif ($tmp == 'X') $effe[1] = $files[$a];      elseif ($tmp == 'x') $effe[1] = $files[$a];      elseif ($tmp == '00') $effe[2] = $files[$a];      elseif ($tmp == '0') $effe[3] = $files[$a];?>

Hier wordt $effe[2] altijd gelijk aan de waarde die in $effe[3] zou moeten staan en $effe[3] blijft NULL. Hoe kan ik 0 van 00 scheiden.

Oh ja, natuurlijk heb ik PHP.net al helemaal afgestruind, maar ik kwam er niet uit. :)

  • EgoH
  • Registratie: Oktober 2001
  • Laatst online: 11-09 21:40
Ook eventje op stringlengte checken?

  • elnino
  • Registratie: Augustus 2001
  • Laatst online: 03-09 05:13
Of === gebruiken...

Verwijderd

Topicstarter
En wat doet ===? Hier heb ik namelijk nog nooit iets over gehoord? :?

  • elnino
  • Registratie: Augustus 2001
  • Laatst online: 03-09 05:13
Op zaterdag 16 maart 2002 23:20 schreef Walhalla het volgende:
En wat doet ===? Hier heb ik namelijk nog nooit iets over gehoord? :?
Zie PHP: Manual: Comparison Operators.
$a === $b (Identical)
TRUE if $a is equal to $b, and they are of the same type. (PHP 4 only)
Hij kijkt dus of $a gelijk is aan $b én of het type gelijk is.

Verwijderd

Topicstarter
Maar hij ziet ze allebei als integers, dus is het type gelijk. En haalt hij ze dus nog steeds niet uit elkaar. Toch?
Daarvoor probeerde ik ook die variabele om te zetten naar een string. Maar schijnt weinig uit te maken.

  • Grum
  • Registratie: Juni 2001
  • Niet online
mja mijn php vind een substr van wat voor string dan ook altijd een string hoor :)
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$theArray = array(
                'aa0',
                'aa00',
                'a00',
                '0000',
                '000'
);

foreach($theArray as $tmpItem)
{
      $theStr = substr($tmpItem, 2, 2);
      if($theStr === '0')
            print "'0' = $theStr\n";
      elseif($theStr === '00')
            print "'00' = $theStr\n";
}

output gewoon wat je verwacht.
Pagina: 1