[php] array vraagje

Pagina: 1
Acties:

  • chuxiej
  • Registratie: Februari 2001
  • Laatst online: 13-07-2020
je kan met php als je een var heb bv: $test = "nr1|nr2|nr3|nr4";
dit doen:
$newarray = exploid("|", $text);
doen.
dan krijg je:
$newarray[0] = "nr1";
$newarray[1] = "nr2";
$newarray[2] = "nr3";
$newarray[3] = "nr4";

Maar nu wil ik dit var: $text = "text1:nr1|text2:nr2|text3:nr3|text4:nr4";
dan dat ik een array krijg:
$newarray[text1] = "nr1";
$newarray[text2] = "nr2";
$newarray[text3] = "nr3";
$newarray[text4] = "nr4";

Zodat ik dus wel een exploid doe maar dat de array key de eerst van de exploid word..

Iemand idee hoe?

www.dannyhiemstra.nl


Verwijderd

exploid -> explode

edit:
rest van verhaal :P
maar voor zover ik weet kan dat niet met
[code]array explode (string separator, string string [, int limit])[/code]
wat je zou kunnen doen is alsnog een explode en dan met een loopje je array bouwen
[code]$newarray = array();
$var = explode("|",$text);
for ($i=0;$i<count($var);$i++) {
$newarray[substr($var[$i],0,strpos($var[$i],":"))] = substr($var[$i],strpos($var[$i],":")+1);
}[/code]
k weet niet of t zo kan, maar zo zou ik beginnen


  • chuxiej
  • Registratie: Februari 2001
  • Laatst online: 13-07-2020
erg duidelijk...

www.dannyhiemstra.nl


  • Zwaluw
  • Registratie: Juni 1999
  • Laatst online: 16-06-2003
Ik heb zo goed als geen verstand van PHP.. maar ik denk dat je hiervoor een hele eigen functie moet schrijven. Voor zover ik begrijp wat je wilt doen.

  • Orphix
  • Registratie: Februari 2000
  • Niet online
Kijk eens naar preg_match:
PHP:
1
2
3
<?
preg_match_all("/:(.*?)|/", $text, $matches,PREG_PATTERN_ORDER);
?>

Nu staan alle nummers in $matches[1][0] t/m $matches[1][3]
http://nl.php.net/manual/nl/function.preg-match-all.php

  • chuxiej
  • Registratie: Februari 2001
  • Laatst online: 13-07-2020
Thnx Darth das wat ik bedoel.
Nu kom ik er zelf wel uit!

www.dannyhiemstra.nl

Pagina: 1