Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] usuwanie/edycja tablicy
Babu
post
Post #1





Grupa: Zarejestrowani
Postów: 66
Pomógł: 0
Dołączył: 16.06.2006

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


Kod
    $t = "
    a:b:c:1;
    d:d:e:4;
    z:e:x:2
    ";



to jest moja tablica, chcialbym z niej usunac wszystko gdzie jest np. 4 jako ostatni czlon

wynik:

Kod
    $t = "
    a:b:c:1;
    z:e:x:2
    ";


Ten post edytował Babu 18.06.2007, 13:24:47
Go to the top of the page
+Quote Post
xpil
post
Post #2





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 22.09.2006

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


"usuwanie" piszemy przez dwa "u", zapamiętaj na przyszłość...

A tu prosty kod:

  1. <?php
  2. $t = "
  3. a:b:c:1;
  4. d:d:e:4;
  5. z:e:x:2
  6. ";
  7. $u = explode(';', $t);
  8. $t=array();
  9. foreach($u as $v) {
  10. $uu = explode(':', $v);
  11. if($uu[sizeof($uu)-1]!='4') {$t[]=$v;}
  12. }
  13. $t = implode(';', $t);
  14. ?>


Pewnie dałoby się ładniej przez array_filter...

--
Piotr Lipski
Go to the top of the page
+Quote Post
Babu
post
Post #3





Grupa: Zarejestrowani
Postów: 66
Pomógł: 0
Dołączył: 16.06.2006

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


Dzieki, a jesli liczba wedlug ktorej ma byc wpis usuniety znajduje
sie na poczatku tu analogicznie bedzie:

Kod
if($uu[sizeof($uu)-4]!='4') {$t[]=$v;}



A jesli mam tablice:


Kod
$t = "
    1:b:G:d;
    4:d:G:d;
    8:e:N:d
    ";


chciałbym zmienic G na N gdzie na poczatku jest np. 4?

Ten post edytował Babu 18.06.2007, 13:27:19
Go to the top of the page
+Quote Post
xpil
post
Post #4





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 22.09.2006

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


W ten sposób to możemy pisać w nieskończoność... Weźże opisz konkretnie swój problem ewentualnie rzuć okiem na www.php.net - tam jest rozpiska wszystkich funkcji. Ciebie interesują w tym przypadku funkcje operujące na tablicach (array) i łańcuchach (string), w szczególności explode(), implode(), sizeof().

Potrenuj sobie "na boku" działanie tych funkcji, jak zrozumiesz stojącą za nimi logikę, sam będziesz odpowiadał na swoje pytania.

--
Piotr Lipski
Go to the top of the page
+Quote Post
Babu
post
Post #5





Grupa: Zarejestrowani
Postów: 66
Pomógł: 0
Dołączył: 16.06.2006

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


Juz opisuje dokładnie

Kod
$t = "
    1:b:G:d;
    4:d:G:d;
    8:e:N:d
    ";


Chciałbym zmienić G na N tam gdzie czwórka

pierw będzie exploda ";" aby to rozłożyć napewno a co dalej?
Go to the top of the page
+Quote Post
Darti
post
Post #6





Grupa: Zarejestrowani
Postów: 1 076
Pomógł: 62
Dołączył: 6.03.2005
Skąd: Wroc

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


  1. <?php
  2. $t = "
  3. 1:b:G:d;
  4. 4:d:G:d;
  5. 8:e:N:d
  6. "; 
  7. $u = explode(';', $t);
  8. $t=array();
  9. foreach($u as $v) {
  10. $uu = explode(':', $v);
  11. if(($uu[0] == 4) && ($uu[2] == 'G')) {$uu[2] = 'N';}
  12. t[] = implode(':';$uu);
  13. }
  14. $t = implode(';', $t);
  15. ?>


Ten post edytował Darti 18.06.2007, 20:27:32
Go to the top of the page
+Quote Post
Babu
post
Post #7





Grupa: Zarejestrowani
Postów: 66
Pomógł: 0
Dołączył: 16.06.2006

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


A jak np. z całego arraya pobrac najwieksza liczbe:

Kod
$t = "
    a:b:G:9;
    f:d:G:8;
    g:e:N:11
    ";


Największa liczbe $t[3]
Go to the top of the page
+Quote Post
Darti
post
Post #8





Grupa: Zarejestrowani
Postów: 1 076
Pomógł: 62
Dołączył: 6.03.2005
Skąd: Wroc

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


  1. <?php
  2. $t = "
  3. a:b:G:9;
  4. f:d:G:8;
  5. g:e:N:11
  6. "; 
  7. $u = explode(';', $t);
  8. $max = 'f*ck you';
  9. foreach($u as $v) {
  10. $uu = explode(':', $v);
  11. if(($max == 'f*ck you') || ($uu[3] > $max)) {$max = $uu[3];}
  12. }
  13. echo 'najwieksza liczba to: ' . $max;
  14. ?>


Ten post edytował Darti 19.06.2007, 16:11:56
Go to the top of the page
+Quote Post
Babu
post
Post #9





Grupa: Zarejestrowani
Postów: 66
Pomógł: 0
Dołączył: 16.06.2006

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


Cytat
najwieksza liczba to: 9
(IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)

Wydaje mi ze powinno wyjsc 11, sprobuje sie tym pobawic bo cos mi nie pasuje

Ten post edytował Babu 19.06.2007, 16:26:12
Go to the top of the page
+Quote Post

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: 7.10.2025 - 10:52