Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Przekazywanie argumentu do metody?
Forum PHP.pl > Forum > Przedszkole
krtenew
Jak przekazac tablice do metody z pól klasy żeby przy wwywolaniu metody nie trzeba był jej podawac przeczytałem wszystkie menuale i nic oto przykład.


<?php
class Klasa{
public $tablica = array(
1=>"Ponidziałek",
2=>"Wtorek",
3=>"Środa",
4=>"Czwartek"
);

public static function pokaz($i,$tablica){
echo $tablica[$i];
}
}
Klasa::pokaz(1, $tablica); //udało mi sie jedynie tu na sztywno wstawiajac statyczna metode z tej klasy


Jak mozna zrobic zeby ominąc drugi argument metody ?



kpt_lucek
  1. <?php
  2.  
  3. class TablicaDoMetody {
  4.  
  5. public static function pokaz($id, array $tablica) {
  6. return (isset($tablica[$id]))?$tablica[$id]:null;
  7. }
  8. }
  9.  
  10. $array = array(
  11. 0 => "#0",
  12. 1 => "#1",
  13. 2 => "#2"
  14. );
  15.  
  16. echo TablicaDoMetody::pokaz(1, $array);
  17.  
krtenew
Czyli tablica musi byc poza klasą?
kpt_lucek
Nie, nie musi.

Możesz normalnie wstawić ją w obiekt i operować na niej "do woli".
Chociażby tak:
  1. <?php
  2.  
  3. class TablicaDoMetody {
  4.  
  5. public static $array = array(
  6. 0 => "#0",
  7. 1 => "#1",
  8. 2 => "#2"
  9. );
  10.  
  11. public static function pokaz($id) {
  12. return (isset(self::$array[$id])) ? self::$array[$id] : null;
  13. }
  14. }
  15. echo TablicaDoMetody::pokaz(1);
krtenew
OK dzieki

ps a musi być statyczna ?
kpt_lucek
Myślę że mogę polecić: Elementy statyczne
krtenew
jeszcze raz dzieki teraz wszystko zrozumialem
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.