Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]zamiana parzystych wystąpien podciągu, zrobiłem, ale na około
statek
post
Post #1





Grupa: Zarejestrowani
Postów: 65
Pomógł: 0
Dołączył: 2.06.2009

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


Witam,
jak zamienić co drugi $podlancuch w $lancuch na $nowe. Wymyśliłem coś takiego:
używam explode i potem implode, ale jeśli index tabeli z fragmentem stringu jest parzysty wcześniej do tego fragmentu dodaje $nowe, a jeśli jest nieparzysty to dodaje $podlancuch. Parzystość sprawdzam resztą z dzielenia - $i%2.

Jak to prościej zrobić?
Go to the top of the page
+Quote Post
Louner
post
Post #2





Grupa: Zarejestrowani
Postów: 99
Pomógł: 5
Dołączył: 20.06.2005
Skąd: Bielsk Podlaski

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


Nie ma chyba dużo szybszego sposobu, możesz uzyć pętli 'for', żeby sprawdzać tylko nieparzyste elementy ( to wyeliminuje połowę porównań ). Sprawdź:

  1. <?php
  2. $nowe = "cos";
  3.  
  4. $lancuch = 'test;test2;test3;test4;test5';
  5. $lancuch = explode(";",$lancuch);
  6. for( $i = 0; $i <= count($lancuch); $i += 2 ) { /* count zwraca ilosc elementow w tablicy */
  7.    if( isset($lancuch[$i]) ) { /* isset sprawdza, czy istnieje taka komorka w tablicy, dla bezpieczenstwa */
  8.        $lancuch[$i] = $nowe;
  9.    }
  10. }
  11.  
  12. $lancuch = implode(";",$lancuch);
  13. echo $lancuch;
  14. ?>
Go to the top of the page
+Quote Post
statek
post
Post #3





Grupa: Zarejestrowani
Postów: 65
Pomógł: 0
Dołączył: 2.06.2009

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


Dzięki, znów się źle zrozumieliśmy:) W ten sposób zamieniasz co drugi fragment lancucha, a ja chciałem zamieniać co drugi separator. Ale dzieki Tobie poprawiłem kod, Dzięki
Pozdrawiam.
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: 3.10.2025 - 21:50