Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Problem ze zmienna tablicowa i formatowanie tekstu
kakon
post 2.12.2011, 23:36:27
Post #1





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 30.11.2011

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


Witam, chce stworzyc kod który ze zmiennej pojedynczej lub tablicy wypisze na ekranie pewien ciag znaków uzywajac do tego wartosci z tej wlasnie zmiennej/tablicy:
np jeśli zmienna ma 1 element wypisze go normalnie jeśli ma:
2 elementy: "$element1 oraz $element2"
3 elementy: "$element1, $element2 oraz element3"
4 elementy: "$element1, $element2, $element3 oraz element4" ....
.... i tak dalej i tak dalej smile.gif

przykladowa zmienna tablicowa która może wystąpić:
  1. [String] => Array
  2. (
  3. [0] => poniedzialek
  4.  
  5. [1] => wtorek
  6.  
  7. [2] => sroda
  8. [3] => czwartek
  9. )


Prosił bym o jakieś wskazówki jak napisać kod który obsłuzy to i bedzie uniwersalny. Naprawde nie mam pomyslów.

Ten post edytował kakon 2.12.2011, 23:50:03
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
manhunto
post 3.12.2011, 00:21:53
Post #2





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 12.10.2011

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


Nie wiem czy dobrze Cie zrozumiałem, ale chodzi Ci ze jak np podasz tablice która ma 4 elementy, to wypisze 4, jak ma 123 elementy to wypisze je wszystkie 123?
Jeśli tak to wystarczy zastosować pętle foreach
  1. function wypisz($tablica){
  2. foreach($tablica as $key => $value){
  3. echo $value." ";
  4. }
  5. }
  6. $tab = array(1 => 'poniedzialek', 2 => 'wtorek', 3 => 'sroda', 4 => 'czwartek');
  7.  
  8. wypisz($tab);
co zwróci nam: poniedzialek wtorek sroda czwartek

Ten post edytował manhunto 3.12.2011, 00:22:26
Go to the top of the page
+Quote Post
kakon
post 3.12.2011, 00:26:51
Post #3





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 30.11.2011

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


coś takiego tylko żeby pomiędzy rekordami w wypisaniu był "," oraz pomiędzy przed ostatnim a ostatnim rekordem pojawiło sie słowo np "oraz"
przykład:
Jeśli tablica ma 1 element wypisze go normalnie jeśli ma:
2 elementy: "$element1 oraz $element2"
3 elementy: "$element1, $element2 oraz element3"
4 elementy: "$element1, $element2, $element3 oraz element4" ....

Ten post edytował kakon 3.12.2011, 00:27:46
Go to the top of the page
+Quote Post
Crozin
post 3.12.2011, 00:35:43
Post #4





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


Jeżeli tablica ma co najmniej 2 elementy, to Wszystkie poza ostatnim elementem (array_slice) połącz przecinkiem (implode), dołącz napis "oraz+ oraz ostatni element tablicy (end).
Go to the top of the page
+Quote Post
manhunto
post 3.12.2011, 00:43:27
Post #5





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 12.10.2011

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


Tak jak Crozin napisał:
  1. function wypisz($tablica){
  2. $string = "";
  3. if(count($tablica) > 1){
  4. $pom = array_slice($tablica,0,-1 );
  5. $string .= implode(", ", $pom);
  6. $string .= " oraz ".end($tablica).".";
  7. }
  8. else{
  9. $string .= reset($tablica);
  10. }
  11.  
  12. return $string;
  13. }
  14. $tab = array(1 => 'poniedzialek', 2 => 'wtorek', 3 => 'sroda', 4 => 'czwartek');
  15.  
  16. echo wypisz($tab);
zwróci: poniedzialek, wtorek, sroda oraz czwartek.

Ten post edytował manhunto 3.12.2011, 12:00:41
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 24.07.2025 - 15:07