Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]zamiana parzystych wystąpien podciągu
Forum PHP.pl > Forum > Przedszkole
statek
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ć?
Louner
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. ?>
statek
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.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.