login  Naam:   Wachtwoord: 
Registreer je!
 Forum

array_flip error

Offline timo - 12/09/2006 21:01
Avatar van timoPHP ver gevorderde Ik krijg de volgende error (wat meer eromheen gepakt):
Citaat:
Array ( [1] => 7 [2] => 12 )
Warning: array_flip() [function.array-flip]: Can only flip STRING and INTEGER values! in /home/vhosts/ghetto-racing.110mb.com/public_html/class.game.inc.php on line 62

Warning: array_flip() [function.array-flip]: Can only flip STRING and INTEGER values! in /home/vhosts/ghetto-racing.110mb.com/public_html/class.game.inc.php on line 62

Notice: Undefined offset: 12 in /home/vhosts/ghetto-racing.110mb.com/public_html/class.game.inc.php on line 67

als ik dit stuk script wil uitvoeren:
  1. <?
  2. while($arr = mysql_fetch_array($res))
  3. {
  4. $res2 = mysql_query("SELECT car,motor,vers,schade,points,id FROM members WHERE id=".$arr[0]) OR die(mysql_error());
  5. $this->queries++;
  6. $arr2 = mysql_fetch_assoc($res2);
  7. $points = $arr2['points'] + $arr2['motor'] + $arr2['vers'] + $arr2['car'] - ($arr2['schade']/10);
  8. $users[$arr[0]] = round($points);
  9. }
  10. print_r($users);
  11. $user = array_flip($users);
  12. $winner = $user[max($users)];
  13. echo $winner;
  14. ?>

de regel met array_flip is de schuldige achter de errors..

5 antwoorden

Gesponsorde links
Offline MechaVore - 12/09/2006 21:21 (laatste wijziging 12/09/2006 21:22)
Avatar van MechaVore Gouden medaille

PHP gevorderde
// i was wrong ..
Offline timo - 12/09/2006 21:22 (laatste wijziging 12/09/2006 21:23)
Avatar van timo PHP ver gevorderde maar de functie die flipt toch een array?
en wat zou de functie dan moeten zijn? (ik heb het volgens mij ook wel goed gehad toen het iets anders was)
PHP.net zegt het ook:
Citaat:
Beschrijving
array array_flip ( array trans )

array_flip() geeft een array omgekeerd terug, dat wil zeggen dat de keys van trans waarden worden en de waarden van trans worden keys.
Offline Thomas - 13/09/2006 10:30
Avatar van Thomas Moderator round() (regel 8) retourneert floats - misschien moet je die punten expliciet naar integers casten?
Offline timo - 13/09/2006 15:37 (laatste wijziging 13/09/2006 15:39)
Avatar van timo PHP ver gevorderde En hoe doe ik dat precies:$?
Offline Thomas - 13/09/2006 15:46
Avatar van Thomas Moderator $users[$arr[0]] = round($points);
->
$users[$arr[0]] = (int) round($points);
?
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.18s