[PHP] Woord vervangen door cijfer

Pagina: 1
Acties:

Onderwerpen


Verwijderd

Topicstarter
Ik ben bezig met een clansite en om het even simpel uit te leggen heb ik 2 variabelen:
$division
$divnumber

De division kan 3 dingen zijn: Assault, Rifle, of Sniper
Het probleem is nu: hoe zorg ik dat $divnumber de division uitleest en bij Assault 1 wordt, bij Rifle 2 en bij sniper 3?

ik heb al geprobeerd:
code:
1
2
3
4
5
6
if( $division == Assault ) 
  { 
    $divnumber = 1
  }

(en hetzelfde voor rifle en sniper)

Maar het probleem is dat de $divnumber elke keer 3 (sniper) werd... :?

Wat moet ik doen om de $divnumber goed te krijgen?

ohja: de $divnumber wordt toegepast in de volgende regel:
code:
1
[^$divnumber Kev^7]^9$name_first_letter^7$name_rest

hoe zorg ik er trouwens voor dat ik geen spatie hoef te zetten tussen $divnumber en Kev ?
Ik heb al gezocht op google en op php.net maar kon niet vinden wat ik zocht...

Alvast bedankt

Verwijderd

code:
1
2
3
4
if( $division == "Assault" ) 
  { 
    $divnumber = 1
  }

[ Voor 27% gewijzigd door Verwijderd op 26-08-2004 17:06 ]


  • Sosabowski
  • Registratie: Juni 2003
  • Laatst online: 18-09 21:03

Sosabowski

nerd

code:
1
2
3
4
5
6
7
if( $division == 'Assault' )  { 
    $divnumber = 1;
} elseif ($division == 'Rifle') {
    $divnumber = 2;
} else {
    $divnumber = 3;
}

The whole problem with the world is that fools and fanatics are always so certain of themselves, and wiser people so full of doubts. -- Bertrand Russell


  • KorZijl
  • Registratie: December 2002
  • Laatst online: 30-11-2021

KorZijl

errare humanum est

Gebruik "eq" ipv "==" , je vergelijkt immers tekst en geen integers ;)

  • Mithrandir
  • Registratie: Januari 2001
  • Laatst online: 21-09 21:22
KorZijl schreef op 26 augustus 2004 @ 17:10:
Gebruik "eq" ipv "==" , je vergelijkt immers tekst en geen integers ;)
Maakt helemaal niets uit in php ;)

Verbouwing


  • KorZijl
  • Registratie: December 2002
  • Laatst online: 30-11-2021

KorZijl

errare humanum est

Mithrandir schreef op 26 augustus 2004 @ 17:13:
[...]


Maakt helemaal niets uit in php ;)
Tja, als de TS z'n taal niet aangeeft gok ik (verkeerd?) dat het Perl is... :X
En ik drie keer zoeken in z'n post naar iets van PHP ofzo... vergeet ik de topictitel ;)

[ Voor 27% gewijzigd door KorZijl op 26-08-2004 17:24 . Reden: Beter kijken voortaan ]


  • JER00N
  • Registratie: Maart 2002
  • Niet online
KorZijl schreef op 26 augustus 2004 @ 17:10:
Gebruik "eq" ipv "==" , je vergelijkt immers tekst en geen integers ;)
Maakt dat zo veel uit? Ik (en ik ben niet de enige :P) gebuik al '==' bij strings sinds jaar en dag, en heb er nog nooit problemen mee gehad.

@KorZijl: In de topictitel staat duidelijk [PHP] :P

[ Voor 14% gewijzigd door JER00N op 26-08-2004 17:15 ]


Verwijderd

Topicstarter
De oplossing van IorGie werkte idd goed... nu zit ik alleen nog met het probleem dat ik $divnumber en Kev niet achter elkaar kan zetten...
hij ziet $divnumberKev immers als een andere variabele...
is er een tekn wat ik toe kan voegen als "einde variabele"ofzo?

Verwijderd

Vind die code anders niet echt handig werken... zou eerdere een array maken en daar alles in opzoeken... kan dit onder php ook met een switch ?

[edit=ja dus]
http://nl3.php.net/manual/nl/control-structures.switch.php

[ Voor 39% gewijzigd door Verwijderd op 26-08-2004 17:21 ]


  • We Are Borg
  • Registratie: April 2000
  • Nu online

We Are Borg

Moderator Wonen & Mobiliteit / General Chat
PHP:
1
2
3
<?php
$iets = $nummer1.$nummer2
?>

Of bedoel je dat niet ?

  • Ajunne
  • Registratie: December 2001
  • Laatst online: 09-09 11:38

Ajunne

Uitje

PHP:
1
echo $divnumber . " kev";


of

PHP:
1
sprintf("%s kev", $divnumber);


Ik zou je aanraden om eerst eens de allerbasic language reference stuff na te lezen eer je aan een nieuwe programmeertaal begint. Standaard dingen van strings vergelijken en concatenatie staan daar in

[ Voor 162% gewijzigd door Ajunne op 26-08-2004 17:24 ]


Verwijderd

Topicstarter
Ok, misschien legde ik het verkeerd uit:

code:
1
2
3
4
5
6
7
8
9
10
11
[^$divnumber Kev^7]^9$name_first_letter^7$name_rest

Wordt:

[^3 Kev^7]^9N^7aam

(in dit voorbeeld is $divnumber 3)

maar ik wil dat ie as output geeft:

[^3Kev^7]^9N^7aam

Hoe pak ik dit aan?

[ Voor 92% gewijzigd door Verwijderd op 26-08-2004 17:28 . Reden: Betere uitleg ]


  • Tjark
  • Registratie: Juni 2000
  • Laatst online: 18-09 23:26

Tjark

DON'T PANIC

JER00N schreef op 26 augustus 2004 @ 17:15:
[...]


Maakt dat zo veel uit? Ik (en ik ben niet de enige :P) gebuik al '==' bij strings sinds jaar en dag, en heb er nog nooit problemen mee gehad.

@KorZijl: In de topictitel staat duidelijk [PHP] :P
Dan moet je eens gaan perl-en. Zul je er wel achterkomen :)

KorZijl: d'r staat [ PHP] in de topictitle ;) :Z

[ Voor 61% gewijzigd door Tjark op 26-08-2004 17:31 ]

*insert signature here


Verwijderd

Topicstarter
Ajunne schreef op 26 augustus 2004 @ 17:20:
PHP:
1
echo $divnumber . " kev";


of

PHP:
1
sprintf("%s kev", $divnumber);


Ik zou je aanraden om eerst eens de allerbasic language reference stuff na te lezen eer je aan een nieuwe programmeertaal begint. Standaard dingen van strings vergelijken en concatenatie staan daar in
dit lukt niet...
PHP:
1
echo $divnumber . " kev";

levert een error op...

  • We Are Borg
  • Registratie: April 2000
  • Nu online

We Are Borg

Moderator Wonen & Mobiliteit / General Chat
Verwijderd schreef op 26 augustus 2004 @ 17:47:
[...]


dit lukt niet...
PHP:
1
echo $divnumber . " kev";

levert een error op...
Een error? PHP kent veel errors :>

Verwijderd

Topicstarter
Ik bedoel dat:
PHP:
1
$emailmessage="[^$divnumber . " Kev";^7]

een error geeft
(en logisch ook... kijk maar hoe het forum de code parsed)

[ Voor 33% gewijzigd door Verwijderd op 26-08-2004 18:18 ]


  • Skaah
  • Registratie: Juni 2001
  • Laatst online: 16-09 18:38
PHP:
1
2
3
4
5
6
switch ($division)
{
 case 'Assault': $divNumber = 3; break;
 case 'Rifle': $divNumber = 2; break;
 case 'Sniper': $divNumber = 1; break;
}


PHP:
1
$string = "{$divNumber}Kev";

[ Voor 23% gewijzigd door Skaah op 26-08-2004 18:19 ]


  • Mawlana
  • Registratie: Juli 2002
  • Laatst online: 11:01
Verwijderd schreef op 26 augustus 2004 @ 17:18:
Vind die code anders niet echt handig werken... zou eerdere een array maken en daar alles in opzoeken... kan dit onder php ook met een switch ?

[edit=ja dus]
http://nl3.php.net/manual/nl/control-structures.switch.php
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
switch ($division)
{
    case 'Assault':
        $divnumber = 1;
        break;
    
    case 'Rifle':
        $divnumber = 2;
        break;
    
    case 'Sniper':
        $divnumber = 3;
        break;
    
    default:
        $divnumber = 4; // input-error
}

echo $divnumber . 'kev';
?>


/edit: sjips, te laat :P (ik moet voortaan wat sneller lezen :+)

[ Voor 30% gewijzigd door Mawlana op 26-08-2004 18:23 ]


Verwijderd

Kijk die switch ziet er al meteen 100% beter uit dan die if constructie. (mijn mening dan)

  • David
  • Registratie: Februari 2001
  • Laatst online: 21-09 22:18
Verwijderd schreef op 26 augustus 2004 @ 18:17:
Ik bedoel dat:
PHP:
1
$emailmessage="[^$divnumber . " Kev";^7]

een error geeft
(en logisch ook... kijk maar hoe het forum de code parsed)
En terecht, kijk eens naar je quotes.

Dato DUO synth voor twee


  • tato
  • Registratie: Juni 2003
  • Laatst online: 15-09 18:26
Verwijderd schreef op 26 augustus 2004 @ 18:17:
Ik bedoel dat:
PHP:
1
$emailmessage = "[^" . $divnumber . "Kev^7]";

een error geeft
(en logisch ook... kijk maar hoe het forum de code parsed)
Zo'w dat is ook al weer gefixed.

  • Grijze Vos
  • Registratie: December 2002
  • Laatst online: 28-02 22:17
Verwijderd schreef op 26 augustus 2004 @ 19:46:
Kijk die switch ziet er al meteen 100% beter uit dan die if constructie. (mijn mening dan)
Hij evalueert ook die variabele maar 1x, en is dus veeeeel beter.

if-elseif-elseif-else is zooo ranzig in bovenstaande voorbeelden.

Op zoek naar een nieuwe collega, .NET webdev, voornamelijk productontwikkeling. DM voor meer info

Pagina: 1