Avatar billede ralf_l Nybegynder
16. september 2013 - 11:03 Der er 4 kommentarer og
1 løsning

Bestem typen af arrays value og erstat arrays value efter typen.

Lyder måske lidt mærkeligt.

Jeg har nu brugt små 3 timer på et problem jeg har.
Jeg vil gerne kunne tjekke typen af mine values i en array.
Med typen mener jeg, om det er string eller integer.

Efterfølgende vil jeg gerne have erstattet hver value i min array, således at alle arrays der er string får en value af "tekst" og arrays der er integer får en value af "tal".

Så hvis jeg har følgende array:

[0] => Super
[1] => 1
[2] => Duper
[3] => 2

Vil komme til at se ud som følgende:
[0] => tekst
[1] => tal
[2] => tekst
[3] => tal

Er det muligt?
Avatar billede repox Seniormester
16. september 2013 - 11:32 #1
foreach($array as $key => &$value)
{
  if(is_int($value))
  {
    $value = "tal";
  }
  else
  {
    $value = "tekst";
  }
}
Avatar billede repox Seniormester
16. september 2013 - 11:35 #2
Og i tilfælde af at dine tal er nummeriske strenge, så skal du bruge is_numeric i stedet for is_int.
Avatar billede ralf_l Nybegynder
16. september 2013 - 21:26 #3
Super fedt, mange tak..

Jeg har også et spørgsmål åben, der mangler et svar fra dig, for din rigtige gode OOP vejledning du har på din side.
Avatar billede arne_v Ekspert
17. september 2013 - 04:07 #4
Nogle alternative maader:

<?php
$a = array('Super', 1, 'Duper', 2);
print_r($a);
$a2en = array_map(function($v) { return gettype($v); }, $a);
print_r($a2en);
$en2da = array('boolean' => 'sandfalsk',
              'integer' => 'heltal',
              'double' => 'decimaltal',
              'string' => 'tekst',
              'array' => '',
              'object' => '',
              'resource' => '',
              'NULL' => '',
              'unknown type' => 'ukendt type');
$a2da = array_map(function($v) use($en2da) { return $en2da[gettype($v)]; }, $a);
print_r($a2da);

?>
Avatar billede ralf_l Nybegynder
18. september 2013 - 12:30 #5
Hej Arne, tak for kommentaren.

Dit spørgsmål gav mig en ide, som jeg har lavet et nyt spørgsmål omkring.
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