Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] przekształcanie zmiennej
Forum PHP.pl > Forum > Przedszkole
lonek
Witam,

Mam zmienną:
$zmienna = "1, 9, 14, 19";
w której liczby w szeregu zmieniają się od zera do kilkudziesięciu. Każda z liczb to jakaś kategoria, 1 - owoce, 2 - warzywa, ... , 50 - samochody.

Jak prosto i szybko przekształcić tak zapisaną zmienną na:
$zmienna_przetworzona = "Kwiatki, Owoce, Ptaszki, Fistaszki" ?

Dodatkowo, w momencie kiedy jedna lub kilka z liczb ma wartość zero, ciąg ma omijać tą wartość i wyświetlać np. (Kwiatki, Ptaszki).


Dzięki.
Foxx
str_replace" title="Zobacz w manualu php" target="_manual
Jest tam przykład prawie identyczny z tym czego potrzebujesz.
siemakuba
eee, chyba powinineś jeszcze podać skąd wiadomo że np. kategorii Owoce odpowiada liczba 1? Trzymasz to w jakiejś bazie/tablicy/pliku? No i jeszcze, czy na początek dysponujesz danymi tylko tami jak podałeś w $zmienna? czy moze tez masz w innej postaci ale z jakichs powodow tworzysz wlasnie taki ciag?

pozdr.
lonek
Hm, taki ciąg tworzy się w momencie kiedy pobieram dane z bazy MySQLowej. I właśnie nie mam nigdzie przechowywanych informacji o tym że 1 to Owoce.. muszę coś takiego stworzyć, tylko właśnie nie wiem jak.

Ogólnie jest tak: na początku dysponuję zmienną w postaci $zmienna = "1, 15, 19, 25". Teraz potrzebna mi jest tablica, żeby przypisać każdej liczbie kategorie, no a potem przetworzyć to tak, jak podałem w pierwszym poście.


P.S. Foxx, dziękuję smile.gif
Zrobiłem to co chciałem:

  1. <?php
  2.  
  3. $zmienna = "1, 2, 3";
  4. $zmienna_liczbowo = array ('1', '2', '3');
  5. $zmienna_slownie = array('Owoce', 'Warzywa', 'Kwiaty');
  6. $wynik = str_replace($zmienna_liczbowo, $zmienna_slownie, $zmienna);
  7.  
  8. ?>
erix
PS: Zaczynaj od str_replace dla wiekszych wartosc, np:

Najpierw daj replace dla 11, a potem dla 1, bo wyjdzie Ci zamiast 11 'OwoceOwoce'.
lonek
Cytat
PS: Zaczynaj od str_replace dla wiekszych wartosc, np:
Najpierw daj replace dla 11, a potem dla 1, bo wyjdzie Ci zamiast 11 'OwoceOwoce'.


No właśnie.. jak zamieniam:
$array1 = array ('1', '2', '3', '4', '5');
na
$array2 = array ('150', 200', '300', '400', '577');

to się zaczyna kaszanić... bo '1' zamienia mi na '15770' smile.gif
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.