Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Przeszukiwanie tablicy nie zwraca wszystkich wyników
Forum PHP.pl > Forum > Przedszkole
mlody69
Witam,
posiadam następującą funkcję, która przeszukuje mi daną tablicę. PRzykładowe dane:
  1. Array
  2. (
  3. [6] => Array
  4. (
  5. [rola] => aktor
  6. [name] => SebastiĂĄn Molinaro
  7. )
  8.  
  9. [7] => Array
  10. (
  11. [rola] => aktor
  12. [name] => Marta Lubos
  13. )
  14.  
  15. [8] => Array
  16. (
  17. [rola] => aktor
  18. [name] => Valentina GarcĂ­a Guerrero
  19. )
  20.  
  21. [9] => Array
  22. (
  23. [rola] => aktor
  24. [name] => Silvia BaylĂŠ
  25. )
  26.  
  27. [10] => Array
  28. (
  29. [rola] => aktor
  30. [name] => Sofia Palomino
  31. )
  32.  
  33. [11] => Array
  34. (
  35. [rola] => aktor
  36. [name] => Sandra Villani
  37. )
  38.  
  39. [12] => Array
  40. (
  41. [rola] => aktor
  42. [name] => Paula Ituriza
  43. )
  44.  
  45. [13] => Array
  46. (
  47. [rola] => aktor
  48. [name] => Carlos Weber
  49. )

Funkcja:
  1. function search($array, $role) {
  2.  
  3. $key = array_search($role, array_column($array, 'rola'));
  4. $name = $array[$key][name];
  5.  
  6. return $name;
  7.  
  8. }

Problem polega na tym, że ta funkcja zwraca tylko pierwszy wynik a nie wszystkie możliwe i kompletnie nie wiem jak to zmienic.
nospor
W manualu przy funkcji array_key masz wyraźnie napisane:
Cytat
If needle is found in haystack more than once, the first matching key is returned. To return the keys for all matching values, use array_keys() with the optional search_value parameter instead.

Manuala naprawde po cos wymyslono
mlody69
Dziekuje, pomogło
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.