Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]preg_replace w tablicy
Forum PHP.pl > Forum > Przedszkole
marek90
  1. $tab1 = array('xxx:ID:' => 1, 'aa:ID:' =>2, 'zx:ID:c:TOP:'=>3);
  2. $regexp = array(':ID:' => 'id', ':TOP:' => 'top');


Jak w PHP zamienić przy pomocy preg_replace, tak aby klucze z $tab1 były przfiltrowane pod kątem sprawdzenia czg występują w nich klucze z $regexp jeśli tak, to nastąpiłaby ich zamiana na odpowiednie ciągi. Potrzebne są tu 2 pętle foreach? Chciałbym aby $tab1 została w nienaruszonym stanie, prócz zmiany tych kluczy.
werdan
  1. <?php
  2.  
  3. $tab1 = array('xxx:ID:' => 1, 'aa:ID:' =>2, 'zx:ID:c:TOP:'=>3);
  4. $regexp = array(':ID:' => 'id', ':TOP:' => 'top');
  5.  
  6. $tab_keys = array_keys($tab1);
  7. $tab_vals = array_values($tab1);
  8.  
  9. $keys = array_keys($regexp);
  10. $vals = array_values($regexp);
  11.  
  12. $tab_keys2 = str_replace($keys, $vals, $tab_keys);
  13.  
  14. $tab2 = array_combine($tab_keys2, $tab_vals);
  15.  
  16. var_dump($tab2);
  17.  
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.