Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] problem z str_replace
Forum PHP.pl > Forum > PHP
bobek358
WItam

Mam mały problem z funkcją do zamieniania cyfr na odpowiednią literę lub grupę liter.
Daje się do niej liczbę np 1 i zwraca wartość A.
Dla wartości od 1 do 9 jest ok ale jak podam na wejście 10 to wywala mi A0 zamiast J
Wartość 11 zwraca AA zamiast K.

Dlaczego tak sie dzieje?


  1. function zi($co_zmienic)
  2. {
  3. $search = array('1', '2', '3', '4', '5', '6', '7', '8', '9',
  4. '10', '11', '12', '13', '14', '15', '16', '17', '18', '19',
  5. '20', '21', '22', '23', '24', '25', '26', '27', '28', '29',
  6. '30', '31', '32', '33', '34', '35', '36', '37', '38', '39',
  7. '40', '41', '42', '43', '44', '45', '46', '47', '48', '49',
  8. '50', '51', '52', '53', '54', '55', '56', '57', '58', '59',
  9. '60', '61', '62', '63', '64', '65', '66', '67', '68', '69',
  10. '70', '71', '72', '73', '74', '75', '76', '77', '78', '79',
  11. '80', '81', '82', '83', '84', '85', '86', '87', '88', '89',
  12. '90', '91', '92', '93', '94', '95', '96', '97', '98', '99',
  13. '100', '101', '102', '103', '104');
  14. $replace = array('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z',
  15. 'AA', 'AB', 'AC', 'AD', 'AE', 'AF', 'AG', 'AH', 'AI', 'AJ', 'AK', 'AL', 'AM', 'AN', 'AO', 'AP', 'AQ', 'AR', 'AS', 'AT', 'AU', 'AV', 'AW', 'AX', 'AY', 'AZ',
  16. 'BA', 'BB', 'BC', 'BD', 'BE', 'BF', 'BG', 'BH', 'BI', 'BJ', 'BK', 'BL', 'BM', 'BN', 'BO', 'BP', 'BQ', 'BR', 'BS', 'BT', 'BU', 'BV', 'BW', 'BX', 'BY', 'BZ',
  17. 'CA', 'CB', 'CC', 'CD', 'CE', 'CF', 'CG', 'CH', 'CI', 'CJ', 'CK', 'CL', 'CM', 'CN', 'CO', 'CP', 'CQ', 'CR', 'CS', 'CT', 'CU', 'CV', 'CW', 'CX', 'CY', 'CZ');
  18.  
  19. return str_replace($search, $replace, $co_zmienic);
  20. }
jackraymund
Dlaczego? bo zamienia po kolei.
spróbuj odwrócić tablice miejscami, aby szukało od największych wartości do najmniejszych
bobek358
Zrobiłem to na case i działa ok.
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.