PHP Warning

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Mike de jong

Mike de jong

25/08/2011 19:27:36
Quote Anchor link
Beste PHP Hulp dudes,

Ik heb een poker scriptje gemaakt , maar nu bij het testen krijg ik steeds een warning , het werkt perfect maar ik wil deze warning eruit halen.

PHP Warning: array_flip() [<a href='function.array-flip'>function.array-flip</a>]: Can only flip STRING and INTEGER values!


Het gaat om deze regel , wie o wie kan mij vertellen hoe ik het moet oplossen , of kan de oplossing geven.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?
if ( 1 == count(array_flip($sk)) ){
?>


Gr Mike
Gewijzigd op 25/08/2011 19:28:04 door Mike de jong
 
PHP hulp

PHP hulp

25/12/2024 02:18:49
 
Jordi Kroon

Jordi Kroon

25/08/2011 19:30:33
Quote Anchor link
zoals de warning al zegt. Can only flip STRING and INTEGER values!
 
Mike de jong

Mike de jong

25/08/2011 19:44:02
Quote Anchor link
:|
 
Roel -

Roel -

25/08/2011 19:56:28
Quote Anchor link
Maak er eerst een string van met implode, draai hem dan om en daarna maak je er weer een array van met explode.
 
Jacco Brandt

Jacco Brandt

25/08/2011 20:27:35
Quote Anchor link
volgens mij gaat het erom dat $sk andere waardes heeft dan integer en strings.
 
Write Down

Write Down

25/08/2011 21:17:35
Quote Anchor link
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)
 
Mike de jong

Mike de jong

25/08/2011 21:23:04
Quote Anchor link
Haleluja
 
Write Down

Write Down

25/08/2011 21:34:30
Quote Anchor link
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.
 
Mike de jong

Mike de jong

25/08/2011 22:10:30
Quote Anchor link
Ja ik wil het eerst correct werkend hebben en daarna 1 voor 1 de vars aanpassen zodat het wat overzichterlijker is.

hieronder de codering.






Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
<?
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;
            }
        }

?>
 
Jelmer -

Jelmer -

25/08/2011 22:54:11
Quote Anchor link
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:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
count(array_flip($sk))
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.