Avatar billede bing89 Nybegynder
08. juli 2013 - 16:08 Der er 6 kommentarer og
1 løsning

PHP.... Få php til at udskrive array: Nr1, Nr2 & Nr3

Jeg vil have php til at udskrive et array sådan:

Hvis der er to rigtige:

Nr1 & Nr2

Er der tre rigtige:

Nr1, Nr2 & Nr3


osv.....

Jeg ved at php via implode, kan lave "," eller hvad man ønsker i mellem sine ord.. :) Men kan man også ændre det sidste til et "&"?
Avatar billede erikjacobsen Ekspert
08. juli 2013 - 16:36 #1
Så du skal erstatte det sidste komma med noget. Det er nok nemmest med et rehulært udtryk. Prøv det her:

  $s = "Ole, Kurt, Hans";
  print preg_replace('/,([^,]+)$/'," og $1",$s);
Avatar billede skelboe Nybegynder
08. juli 2013 - 16:54 #2
Hvis du ikke vil bruge regex kan du evt. bare trække det sidste object ud af din array.


$items  = array('Nr. 1', 'Nr. 2', 'Nr. 3');
$last  = array_pop($items);
$output = implode(', ', $items) . ' og ' . $last;
echo $output; // => Nr. 1, Nr. 2 og Nr. 3
Avatar billede erikjacobsen Ekspert
08. juli 2013 - 17:12 #3
#2: og så skal man nok lige tage højde for 0 elementer eller 1 element i sit array.
Avatar billede skelboe Nybegynder
08. juli 2013 - 17:24 #4
#3: Selvfølgelig, den burde nok se sådan her ud istedet


$items  = array('Nr. 1', 'Nr. 2', 'Nr. 3');
$last  = count($items) > 1 ? ' og '.array_pop($items) : '';
$output = implode(', ', $items) . $last;
echo $output;
Avatar billede bing89 Nybegynder
08. juli 2013 - 22:00 #5
Erikjakobsen -> Jeg fik dit til at virke første gang :) Så du får point..

Men: hvad sker der med: '/,([^,]+)$/'," og $1" ? Hvad gør det ?
Avatar billede bing89 Nybegynder
13. juli 2013 - 23:26 #6
Hmm jeg lukker efter som jeg har fået svar, og ingen melder sig :)
Avatar billede erikjacobsen Ekspert
14. juli 2013 - 01:27 #7
Jeg samler slet ikke på point, tak.

Det er bare et regulært udtryk, der siger, at når strengen slutter med et komma, efterfulgt af "noget" uden komma, erstattes det af " og " efterfulgt af "noget".

Regulære udtryk er bedre end fransk rødvin ;)
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
Computerworld tilbyder specialiserede kurser i database-management

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