Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]str_replace nie działa poprawnie na tablicy, jak wykonać?
casperii
post
Post #1





Grupa: Zarejestrowani
Postów: 681
Pomógł: 28
Dołączył: 14.08.2014

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


Panowie o co chodzi , próbuje przy pomocy str_replace podmieniać ciąg znaków niestety zbyt dosłownie mi te ciągi zmienia (IMG:style_emoticons/default/smile.gif)

  1. $stare = array("1","11","12");
  2. //$stare = array(1,11,12);
  3. $zamien = array('jeden','jedenascie','dwanascie');
  4.  
  5. str_replace($stare, $zamien, $row['numerek']);


bo jeżeli mam numerek 11 to zamiast jedenascie pokazuje mi jedenjeden (IMG:style_emoticons/default/sad.gif)

Czy da się w jakiś inny sposób to wykonać ?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
dublinka
post
Post #2





Grupa: Zarejestrowani
Postów: 594
Pomógł: 66
Dołączył: 22.02.2008
Skąd: Dublin

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


Musialbys uzyc gotowych klas albo cos w tym rodzaju jak ponizej.

https://stackoverflow.com/questions/277569/...o-a-word-in-php

Mozesz tez cos takiego uzyc tylko przerob to dla swoich danych:


  1. <?php
  2. // end() pobiera ostatni index z tablicy i podstawiany jest do petli.
  3. // Nie wiem jak Ty tam masz wiec jest tak ze ustalilem iz ostatni index jest najwekszy
  4.  
  5. $numbers = array(1, 11, 51, 77, 20, 33, 111);
  6. $to_words = array('1' => 'jeden', '11' => 'jedenascie', '33' => 'trzydziesci trzy', '20' => 'dwadziescia', '111' => 'sto jedenascie');
  7.  
  8.  
  9. for($i=0; $i<=(end($numbers)); $i++)
  10. {
  11. if(isset($numbers[$i]))
  12. {
  13. if(array_key_exists($numbers[$i], $to_words))
  14. {
  15. echo $to_words[$numbers[$i]] . '<br>';
  16. }
  17. }
  18. }
  19.  
  20. ?>


Ten post edytował dublinka 12.07.2019, 15:42:21
Go to the top of the page
+Quote Post

Posty w temacie


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: 27.12.2025 - 10:41