Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Przypisywanie przedziałom wartości słownej - tablica
pawdoh
post
Post #1





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 29.12.2010

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


Witam mam następujący problem otóż, pobieram z bazy danych wartość będącą liczbą i teraz mam problem ponieważ potrzebuję to przypisać mam kod

  1. <?php
  2. $ranga = (
  3. range(0, 3999) => 'Początkujący',
  4. range(4000, 7999) => 'Młodzian',
  5. range(8000, 11999) => 'Doświadczony',
  6. range(12000, 20000) => 'Weteran',
  7. )
  8. ?>

następnie to przypisuje w pliku do którego załączam tą tablice, $ranga[$r[rank]]. I po tym właśnie zwraca mi błąd

Warning: Illegal offset type in ... on line 3,4,5,6

Bardzo bym prosił o pomoc gdyż jestem początkującym programistą i nie wiem za bardzo gdzie zrobiłem błąd. Pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
pawdoh
post
Post #2





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 29.12.2010

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


Cytat(kulczycki @ 2.01.2011, 22:54:21 ) *
Nie możesz ID z tablicy przypisać funkcji. Może być jedynie zmienna. Jeśli chcesz uzyskać podobny efekt to byś musiał zrobić

  1. foreach (range(0, 3999) as $number)
  2. $ranga[$number] = "Początkujący";
  3.  
  4. foreach (range(4000, 7999) as $number)
  5. $ranga[$number] = "Młodzian";
  6.  
  7. foreach (range(8000, 11999) as $number)
  8. $ranga[$number] = "Doświadczony";
  9.  
  10. foreach (range(12000, 20000) as $number)
  11. $ranga[$number] = "Weteran";



Ale to i tak jest błędne. Jeśli pobierasz X wartość z bazy to po prostu robisz
Kod
if($wartosc >= 0 && $wartosc <= 3999)
$ranga = "Początkujący";
elseif($wartosc >= 4000 && $wartosc <= 7999)
$ranga = "Młodzian";


i tak dalej.


Zrobiłem jak kolega powiedział ale jeśli mam poniżej Ranga: $ranga to nic nie wyświetla popełniłem gdzieś błąd?

  1. elseif($array['ranga] > -999 && $array['ranga] < 999)
  2. $ranga = 'ranga1';
  3. elseif($array['ranga] > 1000 && $array['ranga'] < 3999)
  4. $ranga = 'ranga2';
  5. elseif($array['ranga'] > 4000 && $array['ranga'] < 7999)
  6. $ranga = 'ranga3';
  7. elseif($array['ranga'] > 8000 && $array['ranga'] < 11999)
  8. $ranga = 'ranga4';

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: 5.10.2025 - 16:56