Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] zamiana ciągu znaków na liczbę (int)
stania
post
Post #1





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 20.05.2005

Ostrzeżenie: (10%)
X----


Witam,

niejako, że jestem bardziej front-endowcem ale muszę ogarnąć pewien problem z php

Muszę zamienić zmienną która ma wartość ciągu znaków na liczbę. W wielkim skrócie dostaję $product_id w formie ciągów znaków i muszę zamienić ją aby była intigerem

  1.  
  2. // w tym miejscu dostaję zmienną wejściową która nie jest liczbą
  3.  
  4. $product_id = 3MADAPTERP3EV;
  5. //w tym miejscu muszę zamienić product_id by był liczbą naturalną (int) np do takiego formatu
  6.  
  7. $product_id = 72145878975;
  8.  
  9.  


Chodzi mi aby zawsze taki sam ciąg znaków np: 3MADAPTERP3EV był konwertowany na tą samą liczbę,


Proszę o wskazówki, przykład, nakierowanie.

Pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
-Gość-
post
Post #2





Goście







Ciekawe jak tamto ID bylo generowane. Jakbys podal wiecej przykladow, to mozna by sprobowac odczytac cos z tamtego.

Co do nowego id, numerycznego

1.
wszystko do malych znakow(znajdziesz odpowiendia funkcje, nie pamietam teraz)
str_replace('a', 11, $where);
str_replace('b', 12, $where);

itp. czyli podobnie jak ktos wyzej pisal

2.
inny sposob
robisz sume
$sum = 0;
$chars=explode('', $oldId);
foreach($chars as $char) {
if !is_numeric($char) {
switch($char) {
case 'a':
$char=11;
break;

chase 'b':
$char=12;
break;
}
}
$sum =+ $char;
}

$sum to nowy id

3.
a jesli nowy id mialby nie miec zwiazku z starym(gorsza opcja, bo nigdy nie wiadomo czy nie trzeba bedzie kiedys tego dopasowywac wstecznie)
to mozna po prostu wylosowac id
np. funkcja rand()
dla id 6 znakowego to bedzie rand(111111, 999999);
albo uzyc do tego aktualnego czasu microtime(true);
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: 9.10.2025 - 10:44