Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]problem z "return" czyli jak mogę zastąpić "echo"?
Forum PHP.pl > Forum > Przedszkole
majka111
Witam

mam mały problem

bawiac sie wymysliłem że bede losował wiersze z pliku

wszystko mam zrobione pieknie losuje i wyswietla zadaną liczbe wieszy

jest tylko jedno ale......

z którym nie moge sobie poradzić
  1. function wpisy_1() {
  2. $wpisy_1=file('wpisy.txt');
  3.  
  4. $ile = array_rand($wpisy_1, 5);
  5.  
  6. echo $wpisy_1[$ile[0]]."<br>",$wpisy_1[$ile[1]]."<br>",$wpisy_1[$ile[2]]."<br>",$wpisy_1[$ile[3]]."<br>",$wpisy_1[$ile[4]];
  7.  
  8.  
  9.  
  10. }


Jak zrobić żeby w miejscu "echo" było działające return (echo powoduje ze całość mi ucieka ze swojego miejsca na stronie) , albo jakieś inne rozwiazanie - moze być na tacy wink.gif

z góry dzieki za wszelką pomoc
KotWButach
  1.  
  2. $result = $wpisy_1[$ile[0]]."<br>",$wpisy_1[$ile[1]]."<br>",$wpisy_1[$ile[2]]."<br>",$wpisy_1[$ile[3]]."<br>",$wpisy_1[$ile[4]];
  3. return $result;
  4.  
majka111
tego próbowałem wczesniej wink.gif


i takie rozwiazanie nie działa - u mnie wink.gif
darko
Przekaż funkcji podstawowe parametry:
  1. function wpisy_1($filename, $ile = 5) {
  2. $wpisy_1 = file($filename);
  3. $ile = array_rand($wpisy_1, $ile);
  4. $return = '';
  5. for ($t = 0; $t < $ile; $t++)
  6. $return .= $wpisy_1[$ile[$t]] . "<br>,";
  7. return $return;
  8. }
  9.  
  10. echo wpisy_1('wpisy.txt');
majka111
  1. for ($t = 0; $t < $ile; $t++)


wcześniej próbowałem w ten sposób zrobić ale coś sie gryzie i zapetla na stronie wiec dlatego taki babol jest widoczny na samej górze
nospor
Raz $ile to liczba a raz $ile to tablica.... nie mozecie dawać $ile do pętli bo w petli przecież to jest już tablica.... zmieniajcie nazwy zmiennych a nie piszecie po tych samych a potem wielkie zdziwienie ze się zapetla, nie działa, wybucha.....

  1. function wpisy_1($filename, $ile = 5) {
  2. $wpisy_1 = file($filename);
  3. $tab = array_rand($wpisy_1, $ile);
  4. $return = '';
  5. for ($t = 0; $t < $ile; $t++)
  6. $return .= $wpisy_1[$tab[$t]] . "<br>,";
  7. return $return;
  8. }
  9.  
  10. echo wpisy_1('wpisy.txt');


Cytat
tego próbowałem wczesniej
i takie rozwiazanie nie działa - u mnie
Chciałaś zastąpić echo na return to ci zamieniono i zrobiono to poprawnie. Jeśli nadal coś ci nie działa, to błąd robisz już w zupełnie innym miejscu.
darko
Racja, nie zwróciłem na to uwagi, czyli:
  1. function wpisy_1($filename, $ile = 5) {
  2. $wpisy_1 = file($filename);
  3. $arr = array_rand($wpisy_1, $ile);
  4. $return = '';
  5. for ($t = 0; $t < $ile; $t++)
  6. $return .= $wpisy_1[$arr[$t]] . "<br>,";
  7. return $return;
  8. }
  9.  
  10. echo wpisy_1('wpisy.txt');
majka111
Serdecznie dziekuje za wszelką pomoc

jednak trzeba było zastosować 5 x funkcja z jednym wynikiem tylko taki kompromis był mozliwy i mam w kazdej nowej linijce takie samo losowanie - wyniki sie powtarzaja czasami ..ale co tam

w przypadku uzycia - jedna funkcja z 5 wynikami , powyższych przykładów lub z echo mam taki efekt i wiem że jest to brak współpracy ze skryptem wink.gif

  1. <a href="#">wpis1</a>
  2. <br>,<a href="#">wpis2</a>
  3. <br>,<a href="#">wpis3</a>
  4. <br>,<a href="#">wpis4</a>
  5. <br>,<a href="#">wpis5</a>
  6. <br>,<!DOCTYPE HTML>
  7. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
  8. <head>
  9. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  10. <link rel="stylesheet" type="text/css" href="themes/plany/style.css" />
  11. ............



dzieki za pomoc, mozna zamknac
nospor
1) Albo coś źle robisz
2) Albo nie mówisz nam wszystkiego

No ale Twoja sprawa smile.gif
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.