Avatar billede computopic Nybegynder
21. januar 2002 - 22:40 Der er 14 kommentarer og
1 løsning

array

Hvordan omdanner jeg en variabel som denne til et array:
var = \"2;3;4;5;\";
Simikolon skal adskille dem..
Avatar billede Noone Nybegynder
21. januar 2002 - 22:42 #1
$var = array(2,3,4,5);

ELLER

$var = explode(\";\",$var);

Se også http://www.php.net/manual/en/function.explode.php
Avatar billede Slettet bruger
21. januar 2002 - 22:43 #2
$tal = split(\";\", $var);

så er de tilgængelige som $tal[0], $tal[1] osv
Avatar billede Noone Nybegynder
21. januar 2002 - 22:45 #3
Fra manualen om split: \"Note that if you don\'t require the power of regular expressions, it is faster to use explode(), which doesn\'t incur the overhead of the regular expression engine.\"
Avatar billede Slettet bruger
21. januar 2002 - 22:46 #4
oki :)
Avatar billede computopic Nybegynder
21. januar 2002 - 22:52 #5
ok.. hvordan tilføjer man så en verdi til en array? ekselpelvis til øverste..  til gerne tiljøje 6;7;9
Avatar billede Noone Nybegynder
21. januar 2002 - 22:55 #6
$var1 = \"6;7;8\"

array_merge ($var,explode(\";\",$var1));
Avatar billede Slettet bruger
21. januar 2002 - 22:56 #7
for hvert element gør du bare

$tal[] = 6;
$tal[] = 7;
$tal[] = 9;
Avatar billede computopic Nybegynder
21. januar 2002 - 22:57 #8
Og hvad hvis man ønsker at trække en variabel ud igen?
Avatar billede Slettet bruger
21. januar 2002 - 22:59 #9
så skal du enten vide hvor den ligger eller hvad den indeholder.
Avatar billede computopic Nybegynder
21. januar 2002 - 23:03 #10
i mit tilfælde  kender jeg indholdet.. hvilket er et tal..
Avatar billede Noone Nybegynder
21. januar 2002 - 23:03 #11
Du KAN jo gøre noget i den hef stil:

foreach ($array as $key => $val) {
  if (!stristr($val,$ikkedether) {
    $newarray = array_merge(array($key => $val),$newarray);
  }
}
$array = $newarray;

Eller sådan noget ;)
Avatar billede Noone Nybegynder
21. januar 2002 - 23:06 #12
Hvis det skal være meget smart, kaster du den ind i en function sådan her:

function array_remove_item($array,$ikkedether) {
foreach ($array as $key => $val) {
  if (!stristr($val,$ikkedether) {
    $newarray = array_merge(array($key => $val),$newarray);
  }
}
return $newarray;
}

Og så kalder du den sådan her:

$array = array_remove_item($array,\"Tallet der skal væk);

Ovenstående beholder positionen i arrayet.
Avatar billede computopic Nybegynder
21. januar 2002 - 23:09 #13
cool .. takker
Avatar billede Slettet bruger
21. januar 2002 - 23:11 #14
chanoa> Det var vist til dig.. http://www.eksperten.dk/spm/161936
Avatar billede Noone Nybegynder
21. januar 2002 - 23:12 #15
\"Ovenstående beholder positionen i arrayet.\"

Kræver lige en forklaring...

Dit array er FØR du kalder funktionen dette:

$array[0] = 1;
$array[1] = 2;
$array[2] = 3;

Du fjerner så 2 med ovenstående funktion sådan her:

array_remove_item($array,2);

Hvis der ikke er bug i min utestede kode, ser dit array nu sådan her ud:

$array[0] = 1;
$array[2] = 3;

Dette kan også undgås, ved at rette lidt på funktionen (eller tilføje endnu en parameter der bestemmer om den beholder positions eller ej, sig til hvis du ønsker det)
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