Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]tablice - zamiana przecinków na kropki i zaokrąglenie
Forum PHP.pl > Forum > Przedszkole
golub
Czesc,

Mam mały problem. Z podanych niżej tablic, mam najpierw zamienić przecinki na kropki (koniecznie przy użyciu explode i implode), a następnie tablice zaokrąglić do 2-óch miejsc po przecinku. Zamiana przecinków w zawoalowany sposób jako tako wyszła, ale nie potrafię zaimplantować funkcji round($tab,2) lub podobnej do zaokrąglenia. Ktoś może pomóc?

  1. $tab[0]="2,535";
  2. $tab[1]="1,888";
  3. $tab[2]="33,444";
  4. $tab[3]="6,3555";
  5. $tab[4]="8,123123";
  6. $tab[5]="6,345345";
  7. $tab[6]="7,4324324";
  8.  
  9. $str[0]=",";
  10.  
  11. function underscore($mark, $str) {
  12. $symbol=".";
  13. for($i=0; $i<count($str); $i++) {
  14. $mark=explode($str[$i], $mark);
  15. $mark=implode($symbol, $mark);
  16. }
  17. print_r($mark);
  18. }
  19. for($j=0; $j<count($tab); $j++){
  20. underscore($tab[$j], $str);
  21. echo "\n";
  22. }
  23. ?>
viking
  1. $tab[0]="2,535";
  2. $tab[1]="1,888";
  3. $tab[2]="33,444";
  4. $tab[3]="6,3555";
  5. $tab[4]="8,123123";
  6. $tab[5]="6,345345";
  7. $tab[6]="7,4324324";
  8.  
  9. $str[0]=",";
  10.  
  11. function underscore($mark, $str) {
  12. yield implode('.', explode($str, $mark));
  13. }
  14.  
  15. foreach ($tab as $elem) {
  16. foreach (underscore($elem, $str[0]) as $number) {
  17. echo round($number, 2) . PHP_EOL;
  18. };
  19. }
golub
Dziękuje uprzejmie, przy okazji poznałem nową funkcję yield
nospor
@viking jaki sens tutaj jest stosowac generator? Przeciez to nic nie wnosi do tego skryptu, To taka armata na muche...

Czemu nie zwykla funkcja?
  1.  
  2. function underscore($mark, $str) {
  3. return implode('.', explode($str, $mark));
  4. }
  5.  
  6. foreach ($tab as $elem) {
  7. echo round(underscore($elem, $str[0]), 2) . PHP_EOL;
  8. }
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.