Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] formatowanie odpowiedzi funkcji exec()
Sebaa
post
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.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
CyberDuck_
post
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 :
  1. for ($licznik = 0; $licznik <= count($tablica); $licznik++) {

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
  1. (count($tablica) - 1);

Najlepiej to jest przesledzic na przykladzie najprostszym jaki moze byc
wiec dla leniwych prosze bardzo do skopiowania i wklejenia do edytorka:
  1. <?php
  2. $tab[0] = '1';
  3. $tab[1] = '2';
  4. $tab[2] = '3';
  5. $tab[3] = '4';
  6. $tab[4] = '5';
  7. for ($licznik = 0; $licznik <= (count($tab) -1); $licznik++) {
  8. echo $licznik .":" .$tab[$licznik] ."<br>";
  9. }
  10. ?>

Wynik :
  1. 0:1
  2. 1:2
  3. 2:3
  4. 3:4
  5. 4:5

I jest wyswietlana prawidlowa ilosc elementow, a jakby nie bylo -1 ?
  1. <?php
  2. $tab[0] = '1';
  3. $tab[1] = '2';
  4. $tab[2] = '3';
  5. $tab[3] = '4';
  6. $tab[4] = '5';
  7. for ($licznik = 0; $licznik <= count($tab); $licznik++) {
  8. echo $licznik .":" .$tab[$licznik] ."<br>";
  9. }
  10. ?>

wynik :
  1. 0:1
  2. 1:2
  3. 2:3
  4. 3:4
  5. 4:5
  6. 5:

Dlaczego pisze jak bozia przykazala ?
Wystarczy usunac index z tablicy ...
  1. $tab[] = '1';
  2. $tab[] = '2';
  3. $tab[] = '3';
  4. $tab[] = '4';
  5. $tab[] = '5';

Efekt za kazdym razem bedzie taki sam.
Powodzonka.

Ten post edytował CyberDuck_ 22.09.2009, 08:38:11
Go to the top of the page
+Quote Post

Posty w temacie


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: 14.10.2025 - 09:15