Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php][array][string]string na cyfry. suma cyfr w dlugiej liczbie., prosty problem.
visine
post
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 3.12.2006

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


Witam!
Mam problem.
Zastanawiam się jak napisać pętlę i jaką aby ze stringu wybierala po koleji cyferki z liczby i mnożyłą je przez elementy innej tablicy. ok to nie wydaje sie trudne. tab1[1]*tab2[1] itd.
kolejny krok to zsumowanie wszystkich juz elementow tyle ze jezeli mam 10 to licze 1+0, jezeli 17 to 1 +7. i tu jest moj problem.
Problem dotyczy wallidacji sum kontrolnych. szukalem ale nie znalazlem nic co by mnie satysfakcjonowalo.
macie cos ?
pozdro dla wszystkich
party.gif

Ten post edytował visine 10.12.2006, 00:23:10
Go to the top of the page
+Quote Post
Ziels
post
Post #2





Grupa: Zarejestrowani
Postów: 235
Pomógł: 2
Dołączył: 30.06.2006

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


$string = '12345';
$arr = explode('', $string);
^
Tablicę cyfr dostaniesz

$cyfra = $arr[1] . $arr[2];
^
Otrzymasz 23

Pozdrawiam
Go to the top of the page
+Quote Post
Sabistik
post
Post #3


Administrator wortalu


Grupa: Przyjaciele php.pl
Postów: 960
Pomógł: 39
Dołączył: 21.10.2003
Skąd: Kraków

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


Cytat
$string = '12345';
$arr = explode('', $string);

Głupota - string

~visine Popraw topic zgodnie z zasadami forum przedszkole.
Go to the top of the page
+Quote Post
siemakuba
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 1 112
Pomógł: 20
Dołączył: 10.04.2005

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


Cytat(visine @ 8.12.2006, 02:03:21 ) *
kolejny krok to zsumowanie wszystkich juz elementow tyle ze jezeli mam 10 to licze 1+0, jezeli 17 to 1 +7. i tu jest moj problem.

Chodzi o zsumowanie wszystkich cyfr z liczby? np. dla liczby 184 wynik = 1+8+4?

Najlepiej chyba, jak napisał Ziels sprowadzić sobie to do tablicy i trzymać każdą składową cyfrę jako element tablicy. No i dalej to już prosto:

  1. <?php
  2. $str = '184';
  3. $arr = explode('', $str);
  4. $sum = array_sum($arr);
  5. ?>


edit:
Cytat
Głupota - string
Sabistik: nie rozumiem. Skoro można użyć explode, to po co tworzyć pętle i iterować przez string? W pętli dodatkowo wykonywać operacje na danych. Opcja z explode wydaje się szybsza i skuteczniejsza, przynajmniej w przypadku sumowania.

pozdr.

Ten post edytował siemakuba 8.12.2006, 10:12:15
Go to the top of the page
+Quote Post
Saddam92
post
Post #5





Grupa: Zarejestrowani
Postów: 69
Pomógł: 0
Dołączył: 17.11.2006

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


a czy dla tablicy $arr nie trzeba zmienić typu ze string na float/double questionmark.gif
Go to the top of the page
+Quote Post
Sabistik
post
Post #6


Administrator wortalu


Grupa: Przyjaciele php.pl
Postów: 960
Pomógł: 39
Dołączył: 21.10.2003
Skąd: Kraków

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


~Siemakuba: a sprawdzałeś czy takie explode w ogóle zadziała? <:
Go to the top of the page
+Quote Post
siemakuba
post
Post #7





Grupa: Przyjaciele php.pl
Postów: 1 112
Pomógł: 20
Dołączył: 10.04.2005

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


@Sabistik: kurcze, oczywiście masz rację. Nie działa. To nawet wcale nie jest dziwne. Dziwne jest, że wydało mi się że to zadziała. A jeszcze dziwniejsze, że zanim sprawdziłem to mógłbym przysiąc: "działa! wiele razy tak robiłem!" To jedna z tych rzeczy, których niby-oczywistość zasłania ich bzdurność :)

pozdr.
Go to the top of the page
+Quote Post
mafio69
post
Post #8





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 15.11.2006
Skąd: Starogard Gd

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


Trzeba policzyć (strlen) a potem w pętli porozdzielać (substr) i przypisać do zmiennej tablicowej a policzenie to już nie problem też w pętli smile.gif tak bym zrobił ale dopiero się uczę więc może za długi sposób snitch.gif

Ten post edytował mafio69 8.12.2006, 23:20:56
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 13:19