Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: wczytanie danych z tablicy do klasy
Forum PHP.pl > Forum > Przedszkole
mike287
czesc,

szukam sposobu na wczytanie danych z tablicy do klasy.

Mam jeden plik w ktorym mam tylko tablice

  1. $user = [
  2. [
  3. 'id' => 1,
  4. 'name' => Mike,
  5. 'surname' => Smith,
  6. 'skills' => 5,
  7. ],
  8. [
  9. 'id' => 2,
  10. 'name' => John,
  11. 'surname' => Johnson,
  12. 'skills' => 6,
  13. ],
  14. [
  15. 'id' => 3,
  16. 'name' => Mark,
  17. 'surname' => Webber,
  18. 'sklills' => 3,
  19. ],


w drugim pliku klase w ktorej chcialbym dane z tej tablicy użyć.

np chciałbym mieć metode która sprawdzi ilu jest uzytkowników ktorzy posiadają skillsa powyzej 5.
Totalnie nie wiem jak przekazac dane z tablicy do klasy...

prosze o jakas wskazówke...
Tomplus
  1. $obj -> setUserTable($user);


a
dalej:
  1. public function setUserTable((array)$user)
  2. {
  3.  
  4. $this -> usersList = $user;
  5.  
  6. }
mike287
Tomplus a mógłbyś to mi jakoś dokładniej wyjaśnic ...

pierwszy plik to tak jak wyzej

  1. $user = [
  2. [
  3. 'id' => 1,
  4. 'name' => Mike,
  5. 'surname' => Smith,
  6. 'skills' => 5,
  7. ],
  8. [
  9. 'id' => 2,
  10. 'name' => John,
  11. 'surname' => Johnson,
  12. 'skills' => 6,
  13. ],
  14. [
  15. 'id' => 3,
  16. 'name' => Mark,
  17. 'surname' => Webber,
  18. 'sklills' => 3,
  19. ],


w drugim wczytuje tablice
  1. require_once ("users.php");
  2.  
  3. class Uzytkownicy
  4. {
  5. public $userList;
  6.  
  7. function setUserTable((array)$user)
  8. {
  9.  
  10. $this -> usersList = $user;
  11.  
  12. }
  13.  
  14. }
  15.  
  16. $obj = new Uzytkownicy;
  17. $obj -> setUserTable($user);
  18.  


Bo tak to nie działa.... a to moje początki z OOP i nie moge znalezc nigdzie materiałów....

nospor
Problem z OOP ma na chwile obecna sredni zwiazek. Samo zastosowanie klasy nie swiadczy o OOP. Przenosze, tym bardziej ze problem banalny.

ps: po czym stwierdzasz ze "tak to nie dziala" ?

ps2: @tomplus, a co to niby ma byc?
public function setUserTable((array)$user)

od kiedy parametry funckji rzutujesz na cos? Myslalem, ze tylko okresla sie typ parametrow... tak ma byc
public function setUserTable(array $user)
plus rzecz jasna php7
mike287
Stwierdziłem że nie działa bo wywalało mi błąd...

ale zrobiłem

  1.  
  2. class Uzytkownicy
  3. {
  4. public $tablica = null;
  5.  
  6.  
  7. }
  8.  
  9. $tab = array('test', 'test2');
  10.  
  11. $test = new Klasa;
  12. $test->tablica = $tab;
  13.  
  14. echo count($test->tablica);
  15.  
nospor
Cytat
że nie działa bo wywalało mi błąd...
Nastepnym razem pisz, ze masz blad i jaki dokladnie.
A blad masz spowodu tego co napisalem w "ps2". Podalem tez jak to poprawic
viking
To teraz jeszcze poczytaj o interface http://php.net/manual/en/class.countable.php
Raczej ustawiaj przez setter dane.
nospor
@viking nie sadze by na tym etapie mieszanie mu interfejsem jest dobrym pomyslem... Kolega nie ogarnia prostych metod a co dopiero to. Wszystko w swoim czasie smile.gif
Pyton_000
@viking a może lepiej od razu ArrayIterator? Nie przesadzajmy....
viking
Może i za trudne ale dobrze by było żeby już teraz sie dowiedział że jest coś takiego jak SPL. W wielu miejscach przeglądając różny kod na pewno się z nim zetknie.
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.