Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Petle & inkrementacja numeru zmiennej
elem8
post
Post #1





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 14.06.2009

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


Witam mam trzy zmienne:

  1. <?php
  2. $n1 = jeden;
  3. $n2 = dwa;
  4. $n3 = trzy;
  5. ?>


Teraz pytanie - jak wyswietlic "jeden dwa trzy" za pomoca petli, tak zebym nie musial wpisywac po kolei echo("$n1 $n2 $n3");, tylko zeby numerek sie inkrementowal ? Probowalem tak:

  1. <?php
  2. do {
  3.  
  4. $liczba = 1;
  5.  
  6. echo("$n$liczba ");
  7.  
  8. $liczba++;     } while ($liczba <= 3);
  9. ?>


ale niczego mi to nie zwraca. prosze o pomoc

Z gory wielkie dzieki
pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
maly_swd
post
Post #2





Grupa: Zarejestrowani
Postów: 744
Pomógł: 118
Dołączył: 14.02.2009
Skąd: poziome

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


kiedys cos takiego znalazlem w necie, niestety nie pamietam autora i linku.
wywolujemy np:
echo slownie(189);

uzywalem tego do opisywania nr strony;)

  1. <?php
  2. $slowa = Array(
  3.  'minus',
  4.  
  5.  Array(
  6.    'zerowa',
  7.    'pierwsza',
  8.    'druga',
  9.    'trzecia',
  10.    'czwarta',
  11.    'piąta',
  12.    'szósta',
  13.    'siódma',
  14.    'ósma',
  15.    'dziewiąta'),
  16.  
  17.  Array(
  18.    'dziesiąta',
  19.    'jedenasta',
  20.    'dwunasta',
  21.    'trzynasta',
  22.    'czternasta',
  23.    'piętnasta',
  24.    'szesnasta',
  25.    'siedemnasta',
  26.    'osiemnasta',
  27.    'dziewietnasta'),
  28.  
  29.  Array(
  30.    'dziesiąta',
  31.    'dwudziesta',
  32.    'trzydziesta',
  33.    'czterdziesta',
  34.    'pięćdziesiąta',
  35.    'sześćdziesiąta',
  36.    'siedemdziesiąta',
  37.    'osiemdziesiąta',
  38.    'dziewięćdziesiąta'),
  39.  
  40.  Array(
  41.    'sto',
  42.    'dwieście',
  43.    'trzysta',
  44.    'czterysta',
  45.    'pięćset',
  46.    'sześćset',
  47.    'siedemset',
  48.    'osiemset',
  49.    'dziewięćset'),
  50.  
  51.  Array(
  52.    'tysiąc',
  53.    'tysiące',
  54.    'tysięcy'),
  55.  
  56.  Array(
  57.    'milion',
  58.    'miliony',
  59.    'milionów'),
  60.  
  61.  Array(
  62.    'miliard',
  63.    'miliardy',
  64.    'miliardów'),
  65. );
  66.  
  67. function odmiana($odmiany, $int){ // $odmiany = Array('jeden','dwa','pięć')
  68.  $txt = $odmiany[2];
  69.  if ($int == 1) $txt = $odmiany[0];
  70.  $jednosci = (int) substr($int,-1);
  71.  $reszta = $int % 100;
  72.  if (($jednosci > 1 && $jednosci < 5) &! ($reszta > 10 && $reszta < 20))
  73.    $txt = $odmiany[1];
  74.  return $txt;
  75. }
  76.  
  77. function liczba($int){ // odmiana dla liczb < 1000
  78.  global $slowa;
  79.  $wynik = '';
  80.  $j = abs((int) $int);
  81.  
  82.  if ($j == 0) return $slowa[1][0];
  83.  $jednosci = $j % 10;
  84.  $dziesiatki = ($j % 100 - $jednosci) / 10;
  85.  $setki = ($j - $dziesiatki*10 - $jednosci) / 100;
  86.  
  87.  if ($setki > 0) $wynik .= $slowa[4][$setki-1].' ';
  88.  
  89.  if ($dziesiatki > 0)
  90.        if ($dziesiatki == 1) $wynik .= $slowa[2][$jednosci].' ';
  91.  else
  92.    $wynik .= $slowa[3][$dziesiatki-1].' ';
  93.  
  94.  if ($jednosci > 0 && $dziesiatki != 1) $wynik .= $slowa[1][$jednosci].' ';
  95.  return $wynik;
  96. }
  97.  
  98. function slownie($int){
  99.  
  100.  global $slowa;
  101.  
  102.  $in = preg_replace('/[^-d]+/','',$int);
  103.  $out = '';
  104.  
  105.  if ($in{0} == '-'){
  106.    $in = substr($in, 1);
  107.    $out = $slowa[0].' ';
  108.  }
  109.  
  110.  $txt = str_split(strrev($in), 3);
  111.  
  112.  if ($in == 0) $out = $slowa[1][0].' ';
  113.  
  114.  for ($i = count($txt) - 1; $i >= 0; $i--){
  115.    $liczba = (int) strrev($txt[$i]);
  116.    if ($liczba > 0)
  117.      if ($i == 0)
  118.        $out .= liczba($liczba).' ';
  119.          else
  120.        $out .= ($liczba > 1 ? liczba($liczba).' ' : '')
  121.          .odmiana( $slowa[4 + $i], $liczba).' ';
  122.  }
  123.  return trim($out);
  124. }
  125. ?>
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: 26.12.2025 - 16:54