![]() |
![]() |
![]()
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%) ![]() ![]() |
fifi ja nie pisalem o metodzie. Tylko przesledzcie to co napisalem.
Metode juz ktos tutaj podal. Zreszta jak juz wspomnial moj poprzednik tez blednie bo trzeba od oidjac tez jeden. Indexowanie tablicy zaczyna sie od zeraPomysl z forech chyba jest nawet lepszy. Podalem konkretny przyklad i zaden element nie zostanie pominiety jak ktos tu zauwazyl . Przesledz kolego dokladnie dzialanie i zobaczysz, ze wszystkie elementy zostana wziete pod uwage, jesli oczywiscie jak bozia przykazala bedziesz zapisywac elementy w tablicy od indexu=0 w zwyz. Zreszta na zdrowy rozum i logicznie rozumujac. Powtorze sie, ale co mi tam ... 0 - element 1 1 - element 2 2 - element 3 teraz wykonujesz count i dostajesz wynik 3 wykonujac petle : wykonujesz ja 4 razy (IMG:style_emoticons/default/exclamation.gif) bo zaczynasz od zera i konczysz na 4 ... Czyli 0, 1, 2, 3 ... Tu sa 4 elementy a w tablicy zapamietales 3 wiec o jeden wyswietlasz wiecej ... Stad to moje Najlepiej to jest przesledzic na przykladzie najprostszym jaki moze byc wiec dla leniwych prosze bardzo do skopiowania i wklejenia do edytorka:
Wynik :
I jest wyswietlana prawidlowa ilosc elementow, a jakby nie bylo -1 ?
wynik :
Dlaczego pisze jak bozia przykazala ? Wystarczy usunac index z tablicy ...
Efekt za kazdym razem bedzie taki sam. Powodzonka. Ten post edytował CyberDuck_ 22.09.2009, 08:38:11 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 112 Pomógł: 15 Dołączył: 2.02.2007 Ostrzeżenie: (0%) ![]() ![]() |
Zreszta na zdrowy rozum i logicznie rozumujac. Powtorze sie, ale co mi tam ... 0 - element 1 1 - element 2 2 - element 3 teraz wykonujesz count i dostajesz wynik 3 wykonujac petle : wykonujesz ja 4 razy (IMG:style_emoticons/default/exclamation.gif) bo zaczynasz od zera i konczysz na 4 ... Czyli 0, 1, 2, 3 ... Tu sa 4 elementy a w tablicy zapamietales 3 wiec o jeden wyswietlasz wiecej ... Stad to moje Najlepiej to jest No tak, tu masz rację, tylko wróć do swojego poprzedniego posta i sprawdź czy na pewno tak samo napisałeś (IMG:style_emoticons/default/tongue.gif) Nie lepiej zrobic tak ? : Odjąłeś 1 od wartości count(), ale przy tym użyłeś w warunku znaku < a nie <=. W tym przypadku mając 4-elementową tablicę byłoby tak: indeksy tablicy: 0, 1, 2, 3 count(tablica) = 4 count(tablica)-1 = 3 warunek: $i < (count(tablica) - 1) spełniony dla indeksów mniejszych od 3, czyli tylko dla elementów o indeksach 0, 1, 2. A gdzie indeks 3? (IMG:style_emoticons/default/smile.gif) Żeby warunek był spełniony dla wszystkich elementów trzeba postawić ten znak <= lub zostawić znak <, ale wtedy nie odejmować jedynki (wyjdzie na to samo). Ten post edytował Void 22.09.2009, 15:28:48 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 15.10.2025 - 02:01 |