![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 17.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Mam na stronie następujący skrypt wypisujący na ekranie kilka linijek odpowiedzi dowolnej komendy powłoki Linux. exec("polecenie",$wyj); for ($i=0; $i < count($wyj); $i++) {print($wyj[$i]."\n");}; Zakładając, że odpowiedź ma 5 linijek. Czy mógłbym jakoś nie wyświetlać na przykład 4tej linijki?. Proszę o pomoc. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 135 Pomógł: 15 Dołączył: 17.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
Robicie jeden podstawowy blad i jeszcze tego nie zauwazacie na stronie.
Przypuscmy, ze masz te swoja tablice zbudowana tak :
Czyli masz 5 komorek w tabeli tak ? Teraz robiac tak : kazesz skryptowi wyswietlic tak na prawde 6 komorek bo count zwraca Ci liczbe 5, a Ty robisz petle od 0 wiec wyswietlasz komorki 0, 1, 2, 3, 4, 5 . Liczac od poczatku wychodzi 6 komorek. Nie lepiej zrobic tak ? : |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 112 Pomógł: 15 Dołączył: 2.02.2007 Ostrzeżenie: (0%) ![]() ![]() |
Robicie jeden podstawowy blad i jeszcze tego nie zauwazacie na stronie. Lepiej pomyśl chwilę kolego zanim wytkniesz komuś błąd (IMG:style_emoticons/default/smile.gif) count zwraca całkowitą liczbę elementów w tablicy, a nie ostatni index, więc dla takiej tablicy jaką podałeś:
count($wyj) będzie równe 5. W warunku sprawdzamy, licząc od 0, czy $i jest mniejsze od count($wyj) (mniejsze, nie mniejsze lub równe). Więc wszystko będzie w porządku, warunek będzie spełniony dla 0, 1, 2, 3, 4 (dla 5 już nie bo 5 nie jest mniejsze od 5). Nie lepiej zrobic tak ? : Nie, nie lepiej bo wtedy nie wypiszesz ostatniego elementu tablicy. count($wyj) - 1 = 4, warunek jest spełniony dla 0, 1, 2, 3 (a gdzie czwarty element tablicy?). Jeżeli już to musiał byś dać tak: |
|
|
![]() ![]() |
![]() |
Aktualny czas: 14.10.2025 - 03:30 |