Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] wyrażenie return, zwracanie wartości
kosmos
post
Post #1





Grupa: Zarejestrowani
Postów: 367
Pomógł: 17
Dołączył: 4.03.2008

Ostrzeżenie: (0%)
-----


Witam
nie znalazłem nic o tym więc założyłem nowy temat.

Jak przy pomocy return mogę otrzymać np: całą tablice (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)

  1. <?php
  2. class Animals extends Person{
  3. var $color,$type;
  4.  
  5. function __construct($name,$age,$color,$type){
  6. $this -> name = $name;
  7. $this -> age = $age;
  8. $this -> color = $color;
  9. $this -> type = $type;
  10.  
  11. $_SESSION['table_animals'][]=array(
  12. 'name' => $this -> name,
  13. 'age' => $this -> age,
  14. 'color' => $this -> color,
  15. 'type' => $this -> type);
  16. }
  17.  
  18. function print_all_animals(){
  19. return  <----------------- i tu KLIN
  20. }
  21. }
  22. ?>


wiem że można to zrobić w taki sposób :

  1. <?php
  2. function print_all_animals(){
  3.  foreach($_SESSION['table_animals'] as $key => $value){
  4. print 'name: '.$value['name'].'<br>';
  5. print 'age: '.$value['age'].'<br>';
  6. print 'color: '.$value['color'].'<br>';
  7. print 'type: '.$value['type'].'<br>';
  8.  }
  9. ?>


ale nie chcę rozwiązać tego w powyższy sposób. Da się wydrukować elementy tej tablicy poprzez return (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)

Ten post edytował kosmos 28.05.2008, 22:50:59
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
empathon
post
Post #2





Grupa: Zarejestrowani
Postów: 246
Pomógł: 31
Dołączył: 13.11.2006
Skąd: się znamy?

Ostrzeżenie: (0%)
-----


Return służy zwracania wartości. Co Ty za cyrki chcesz wyprawiać?
Jeśli chcesz wydrukować całą tablice zrób:
  1. <pre>
  2. <?php print_r($array); ?>
  3. </pre>
Go to the top of the page
+Quote Post
kosmos
post
Post #3





Grupa: Zarejestrowani
Postów: 367
Pomógł: 17
Dołączył: 4.03.2008

Ostrzeżenie: (0%)
-----


EMPATHON ale ty sie denerwujesz masakra


doskonale wiem że poprzez print_r otrzymam wydruk w następujący sposób

  1. <?php
  2. Array ( [0] => Array ( [name] => Blant [age] => 1 [color] => Black [type] => Cat )
  3. ?>


nie o to mi chodzi

chcę otrzymać wydruk takego formatu:

Blant
1
Black
Cat

WIEM też że można wyciągnąć wartości z tablicy zapisać je do zmiennych i wydrukowaćpo kolei utd itp sposobów jest od .....


chodziło mi w pytaniu konkretnie o return.

Ale ok skoro nie ma takiej opcji to trudno
Go to the top of the page
+Quote Post
scanner
post
Post #4





Grupa: Zarząd
Postów: 3 503
Pomógł: 28
Dołączył: 17.10.2002
Skąd: Wrocław




return niczego ci na ekranie w żadnej formie nie wyświetli. Konstrukcja ta służy tylko i wyłącznie do zwrócenia wyniku działania metody/funkcji i do niczego innego.
Go to the top of the page
+Quote Post
kosmos
post
Post #5





Grupa: Zarejestrowani
Postów: 367
Pomógł: 17
Dołączył: 4.03.2008

Ostrzeżenie: (0%)
-----


OK już sobie poradziłem.... najwidoczniej źle mnie zrozumiano

Pozdrawiam.

Kod
return $this->name.' '.$this->age.' '.$this->color.' '.$this->type;


Ten post edytował kosmos 28.05.2008, 23:48:53
Go to the top of the page
+Quote Post
empathon
post
Post #6





Grupa: Zarejestrowani
Postów: 246
Pomógł: 31
Dołączył: 13.11.2006
Skąd: się znamy?

Ostrzeżenie: (0%)
-----


Cytat(kosmos @ 29.05.2008, 00:02:05 ) *
EMPATHON ale ty sie denerwujesz masakra

Waleriany?

Zobacz jak możesz to ładnie zrobić:
  1. <?php
  2. class Animal {
  3. ...
  4. private function print_table($table_name, $propeties_to_print = array())
  5. {
  6. foreach($_SESSION[$table_name] as $key => $value) {
  7. foreach ($propeties_to_print as $property) {
  8. print "$property: {$value[$property]}<br />";
  9. }
  10. }
  11. return 'foo';
  12. }
  13.  
  14. function print_all_animals(){
  15. return $this->print_table('table_animals', array('name', 'age', 'color', 'type'));
  16. }
  17. ...
  18. }
  19. ?>

Return tu nic nie daje bo funkcja która wyświetla nie ma co zwracać. Jak sobie to wyobrażasz? TRUE gdy się to uda, FALSE gdy się nie powiedzie?
Prawidłowo powinno wyglądać to tak.

  1. <?php
  2. class Animal {
  3. private function print_table($table_name, $propeties_to_print = array())
  4. {
  5. foreach($_SESSION[$table_name] as $key => $value) {
  6. foreach ($propeties_to_print as $property) {
  7. print "$property: {$value[$property]}<br />";
  8. }
  9. }
  10. }
  11.  
  12. function print_all_animals(){
  13. $this->print_table('table_animals', array('name', 'age', 'color', 'type'));
  14. }
  15. }
  16. ?>

print_table możesz przenieść do klasy abstract.

Edit: Nie źle Cie zrozumiano, tylko źle zadałeś pytanie.
Jeśli tak to ta metoda powinna się nazywać np: getAnimalProperties()
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 04:48