login  Naam:   Wachtwoord: 
Registreer je!
 Forum

arrays 1 dimensie naar 2 (Opgelost)

Offline arneman - 09/12/2009 22:31
Avatar van arnemanNieuw lid Ik heb een string met volgende inhoud:

Web2.0 , Twitter , Twitter , Facebook

Deze heb ik met de functie PHP.net: explode naar een array omgezet. Wat ik nu graag wil bereiken is dat ik een 2 dimensionale array krijg, waarin de dubbels worden uitgefilterd. Dus mijn resultaat moet worden:

Web2.0 - 1
Twitter - 2
Facebook - 1

Dit lukt me maar niet. Iemand een voorstel?

7 antwoorden

Gesponsorde links
Offline vinTage - 09/12/2009 22:36 (laatste wijziging 09/12/2009 22:36)
Avatar van vinTage Nieuw lid PHP.net: array_push de nieuwe waardes gelijk in een nieuw array, waarbij je checked met PHP.net: in_array of die er al instaat.
Offline arneman - 09/12/2009 22:37
Avatar van arneman Nieuw lid Bedankt, eens even testen!
Offline Richard - 09/12/2009 22:47
Avatar van Richard Crew algemeen Wat je nu zoekt is nog steeds maar 1 dimensie: PHP.net: array_count_values
Offline vinTage - 09/12/2009 22:50
Avatar van vinTage Nieuw lid http://www.php....unique.php
Offline Richard - 09/12/2009 22:57
Avatar van Richard Crew algemeen Daarmee tel je niet hoe vaak de waarden voorkomen. 
Offline vinTage - 09/12/2009 23:08 (laatste wijziging 09/12/2009 23:08)
Avatar van vinTage Nieuw lid ik had het verkeerd begrepen, ik dacht dat hij een nieuw array wilde maken, met alleen unieke inhoud.
Offline arneman - 09/12/2009 23:15
Avatar van arneman Nieuw lid Ik heb het op dit moment zo opgelost, maar ik krijg de inhoud nu niet afgedrukt. De PHP.net: print_r werkt wel.

  1. $query = "SELECT tags FROM articles";
  2. $result = mysql_query($query);
  3.  
  4. $newArray = array();
  5.  
  6. while($row = mysql_fetch_array($result))
  7. {
  8. $tags = $row['tags'];
  9. $arrTags = explode(";",$tags);
  10. $tags = count($arrTags);
  11.  
  12. for($i=0; $i<=$tags-1;$i++)
  13. {
  14. array_push($newArray, $arrTags[$i]);
  15. }
  16. }
  17.  
  18. $newArray = array_count_values($newArray);
  19. arsort($newArray);
  20.  
  21. $tags = count($newArray);
  22.  
  23. print_r($newArray);
  24.  
  25. for($i=0; $i<=$tags-1;$i++)
  26. {
  27. echo '<tr><td>'.$newArray[$i].'</td></tr>';
  28. }
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.186s