zoals de warning al zegt. Can only flip STRING and INTEGER values!
Link gekopieerd
Maak er eerst een string van met [php]implode[/php], draai hem dan om en daarna maak je er weer een array van met [php]explode[/php].
Link gekopieerd
volgens mij gaat het erom dat $sk andere waardes heeft dan integer en strings.
Link gekopieerd
Jacco Brandt op 25/08/2011 20:27:35
volgens mij gaat het erom dat $sk andere waardes heeft dan integer en strings.
//Sorry dat ik offtopic ga
Jij reageert toch ook altijd lekker nutteloos hé ;-) Ofwel herhaal je, ofwel wat onzin... (sorry, ik erger er me aan)
Link gekopieerd
Mike, Roel geeft toch een oplossing?
Blijkbaar geef jij iets anders op dan een string of een int. Daar moet je dus iets aan doen. Als je dat niet lukt, dan zal je ons wat meer code moeten geven. Want wij weten nu helemaal niet wat $sk is.
Dat laatste is op zich ook verkeerd. In principe zou je aan de variablenaam toch al moeten weten wat het is. Bijvoorbeeld $users, merk de s op. Dan kan je er vanuit gaan dat dat een array is met gebruikersgegevens in.
Link gekopieerd
Ja ik wil het eerst correct werkend hebben en daarna 1 voor 1 de vars aanpassen zodat het wat overzichterlijker is.
hieronder de codering.
<?
include $_SERVER['DOCUMENT_ROOT'].'/_config.php';
$msg = '';
$form = false;
$kaart = array();
$show_result = 0;
$msg_error = true;
if ( isset($_SESSION['poker']) )
{
if ( isset($_POST['next']) )
{
$form = true;
$show_result = 2;
for($i = 0; $i < 5; $i++)
{
$kaart[$i] = ( isset($_POST['kaart' . $i]) ) ? $_SESSION['poker']['kaart'][$i] : $_SESSION['poker']['kaart'][$i+5];
}
$sk = array();
$sw = array();
$counts = Array();
$waarde_list = array(14,2,3,4,5,6,7,8,9,10,11,12,13,14,2,3,4,5,6,7,8,9,10,11,12,13,14,2,3,4,5,6,7,8,9,10,11,12,13,14,2,3,4,5,6,7,8,9,10,11,12,13);
for($i = 0; $i < 5; $i++)
{
$sk[$i] = floor($kaart[$i]/13);
$sw[$i] = $waarde_list[$kaart[$i]];
$counts[$sw[$i]] = ( isset($counts[$sw[$i]]) ) ? $counts[$sw[$i]]+1 : 1 ;
}
sort($sw);
sort($sk);
if ( ( max($sw) == min($sw)+4 && 5 == count(array_flip($sw)) ) || ( in_array(14,$sw) && in_array(2,$sw) && in_array(3,$sw) && in_array(4,$sw) && in_array(5,$sw) ) )
{
if ( 1 == count(array_flip($sk)) )
{
if ( min($sw) == 10 )
{
$prijs = 10;
}
else
{
$prijs = 8;
}
}
else
{
$prijs = 4;
}
}
?>
Link gekopieerd
Overzichtelijk programmeren is vooral voor jezelf.
Wat probeer je hier te doen? In termen van kaarten en score, niet in termen van array en integers:
count(array_flip($sk))
Link gekopieerd