[PHP] een woord opdelen in losse letters

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
de bedoeling is dus dat als iemand ingelogd is als peter
dat php dan peter scheidt in bijvoorbeeld
$1 = "p";
$2 = "e";
$3 = "t";
$4 = "e";
$5 = "r";
op die manier kan ik dus de ingelogde naam neerzetten als
[img]\"$1.jpg\"><img[/img][img]\"$3.jpg\"[/img]etc...

heb redelijk wat verstand van php heb een inlogsysteem gemaakt met sessies e.d. maar ik weet echt niet hoe ik dit moet doen???

[aanvullende info]
een naam kan maximaal 15 tekens zijn dus dan doe ik
if ($1){
[img]\"$1.jpg\"[/img]
}
if ($2){
[img]\"$3.jpg\"[/img]
}
if ($2){
[img]\"$3.jpg\"[/img]
}
etc... (zo tot de 15)
[/aanvullende info]

Acties:
  • 0 Henk 'm!

  • Evilbee
  • Registratie: November 2002
  • Laatst online: 10:42
Zoek eens op wordwrap.

http://nl3.php.net/wordwrap

LinkedIn - Collega worden?


Acties:
  • 0 Henk 'm!

  • RupS
  • Registratie: Februari 2001
  • Laatst online: 17-07 14:45
Verdiep je eens in de functies: strlen(), substr(), array();

Daarmee is het erg eenvoudig op te lossen. je loopt gewoon per karakter door een woord heen tot de lengte van het woord... iedere letter gooi je in een arary, en dan ben je er...

Je kan het ook in losse vars doen, maar dat is m.i. een erg ranzige oplossing. :)

Het uitlezen hoeft dan ook niet met 15(!!) ifjes, maar met 1 simpele loop...

Acties:
  • 0 Henk 'm!

  • zeroxcool
  • Registratie: Januari 2001
  • Laatst online: 04-09 19:14
Een variabele in PHP is eigenlijk een array:
PHP:
1
2
3
4
5
6
7
8
9
<?php

$text = "peter";

for ($i = 0; $i < strlen($text); $i++) {
   echo $text[$i] . "<br />";
}

?>

Daar moet je een heel eind mee komen!

[ Voor 20% gewijzigd door zeroxcool op 25-07-2003 14:43 ]

zeroxcool.net - curity.eu


Acties:
  • 0 Henk 'm!

  • Hoppie
  • Registratie: Februari 2001
  • Niet online
Is een string niet gewoon een array van karakters?
Dus zou volgens mij dit moeten werken:
PHP:
1
2
3
4
5
    sNaam = "monkeymonkey";
    for (cChar = 0; cChar < strlen(sNaam); cChar++)
    {
        echo "[img]'".sNaam[cChar].".jpg'[/img]";
    }

[ Voor 16% gewijzigd door Hoppie op 25-07-2003 14:54 . Reden: vb en php werken niet door elkaar.... ]


Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 12:54

Bosmonster

*zucht*

ZeRoXcOoL schreef op 25 July 2003 @ 14:42:
Een variabele in PHP is eigenlijk een array:
Hoewel je gelijk hebt met je code.. mag je nooit zeggen dat een string (neem aan dat je dat bedoelt met 'variabele') een array is, want dat is gewoon niet waar. Dat je middels blokhaken een letter op kunt vragen op een specifieke positie en deze syntax lijkt op een array maakt het nog geen array ;)

Deze syntax is om deze reden in PHP4 dan ook veranderd in accolades:

$string{1} ipv $string[1]

[ Voor 11% gewijzigd door Bosmonster op 25-07-2003 14:57 ]


Acties:
  • 0 Henk 'm!

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 03:13
ZeRoXcOoL schreef op 25 July 2003 @ 14:42:
Een variabele in PHP is eigenlijk een array:
Dat is niet echt het geval. Je kan de indexing operator ([]) toepassen op een string, maar het is geen array. Anders zou je er ook array functies zoals foreach en array_map op toe kunnen passen en dat is niet het geval.

edit:
Bosmonster was me voor. ;)

[ Voor 6% gewijzigd door Soultaker op 25-07-2003 14:57 ]


Acties:
  • 0 Henk 'm!

  • zeroxcool
  • Registratie: Januari 2001
  • Laatst online: 04-09 19:14
Lol, ik word meteen gecorrigeerd ;).

Ik bedoelde inderdaad een string ja, en natuurlijk mag je dat niet zeggen. Maar PHP behandelt een string in mijn stukje code als een array... Beetje krom gezegd misschien ja. Dus de veranderde code nav. Bosmonster :P:
PHP:
1
2
3
4
5
6
7
8
9
<?php

$text = "peter"; 

for ($i = 0; $i < strlen($text); $i++) { 
   echo $text{$i} . "<br />"; 
} 

?>

zeroxcool.net - curity.eu


Acties:
  • 0 Henk 'm!

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

ZeRoXcOoL schreef op 25 July 2003 @ 14:42:
Een variabele in PHP is eigenlijk een array:
Je bedoelt vast dat een string in PHP eigenlijk een array is, maar dat schijnt dus totaal niet waar te zijn. Waarom ze het dan wel deels als een array behandelen moet je mij niet vragen :)

edit:

Eerst lezen, dan reageren, ipv eerst lezen, dane en andere thread lezen en dan reageren :X

[ Voor 14% gewijzigd door ACM op 25-07-2003 15:05 ]


Acties:
  • 0 Henk 'm!

  • Tjark
  • Registratie: Juni 2000
  • Laatst online: 08:29

Tjark

DON'T PANIC

Toch wel leuk he,
heb redelijk wat verstand van php heb een inlogsysteem gemaakt met sessies e.d. maar ik weet echt niet hoe ik dit moet doen???
maar dan geen simpel loopje bouwen over een aantal characters...

de TS doet z'n naam wel eer aan
If you put a million monkeys in a room with a millin typewriters,
eventually, one would be able type out the works of Shakespear. PHP scripts.
;)

[ Voor 3% gewijzigd door Tjark op 25-07-2003 15:05 ]

*insert signature here


Acties:
  • 0 Henk 'm!

  • GraasGast
  • Registratie: Oktober 2000
  • Laatst online: 02-09 19:22

GraasGast

Analogue Heaven

kan je niet beter gewoon explode() gebruiken?

PHP:
1
$array = explode('', $string);


ow en by the way, variabelenamen mogen niet beginnen met een getal.

[ Voor 32% gewijzigd door GraasGast op 25-07-2003 15:07 ]


Acties:
  • 0 Henk 'm!

  • RedRose
  • Registratie: Juni 2001
  • Niet online

RedRose

Icebear

ACM schreef op 25 juli 2003 @ 15:04:
[...]

Je bedoelt vast dat een string in PHP eigenlijk een array is, maar dat schijnt dus totaal niet waar te zijn. Waarom ze het dan wel deels als een array behandelen moet je mij niet vragen :)
Is het niet zo dat in C een string in principe wel een array van characters is en dat die functionaliteit deels meegenomen is in PHP?

Volgens mij hebben ze alleen indexes gezet, of vrijgegeven, op de characters in PHP-strings om dingen als strstr() en substr() te kunnen doen, maar verder niet.

.edit:
GraasGast schreef op 25 juli 2003 @ 15:06:
kan je niet beter gewoon explode() gebruiken?

PHP:
1
$array = explode('', $string);


ow en by the way, variabelenamen mogen niet beginnen met een getal.
Een string is dus geen array in PHP en waarop wil je exploden dan? :)

[ Voor 23% gewijzigd door RedRose op 25-07-2003 15:11 ]

Sundown Circus


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
GraasGast schreef op 25 July 2003 @ 15:06:
kan je niet beter gewoon explode() gebruiken?

PHP:
1
$array = explode('', $string);


ow en by the way, variabelenamen mogen niet beginnen met een getal.
shit had ik moeten weten :>

Acties:
  • 0 Henk 'm!

  • RupS
  • Registratie: Februari 2001
  • Laatst online: 17-07 14:45
GraasGast schreef op 25 July 2003 @ 15:06:
kan je niet beter gewoon explode() gebruiken?

PHP:
1
$array = explode('', $string);
Volgens mij werkt dat niet, want je geeft geen scheidingsteken op...
If separator is an empty string (""), explode() will return FALSE. If separator contains a value that is not contained in string, then explode() will return an array containing string.

Acties:
  • 0 Henk 'm!

  • GraasGast
  • Registratie: Oktober 2000
  • Laatst online: 02-09 19:22

GraasGast

Analogue Heaven

:o i stand corrected...hmm maar er staat me iets bij dat ik het ooit zo begruikt heb...maar goed... :?

Acties:
  • 0 Henk 'm!

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 03:13
Als variatie op een thema kun je preg_split misbruiken:
PHP:
1
$array = preg_split('//', $string, -1, PREG_SPLIT_NO_EMPTY);

Maar echt mooi is 't niet. ;)

[ Voor 6% gewijzigd door Soultaker op 25-07-2003 15:22 ]


Acties:
  • 0 Henk 'm!

  • GraasGast
  • Registratie: Oktober 2000
  • Laatst online: 02-09 19:22

GraasGast

Analogue Heaven

je bent me net voor :P

Acties:
  • 0 Henk 'm!

  • zeroxcool
  • Registratie: Januari 2001
  • Laatst online: 04-09 19:14
Nounou, een duizend aantal mogelijkheden voor een klein stukje code. Hehe, PHP in tha housa, niet :P?

zeroxcool.net - curity.eu


Acties:
  • 0 Henk 'm!

Verwijderd

Jammer dat php geen Roxen is, dan gebruik je gewoon:
code:
1
<gtext fgcolor="blue" font='lucida' alt="&var.login_name">&var.login_name</gtext>

:P

Acties:
  • 0 Henk 'm!

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

En wat heeft dat met dit topic te maken :? En waarom zou zoiets niet in php kunnen?

Acties:
  • 0 Henk 'm!

  • GraasGast
  • Registratie: Oktober 2000
  • Laatst online: 02-09 19:22

GraasGast

Analogue Heaven

* GraasGast voelt een druppel sarcasme in z'n nek druipen? :P
Pagina: 1