Ankündigung

Einklappen
Keine Ankündigung bisher.

in_array(): Wrong datatype

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • in_array(): Wrong datatype

    habe folgenden Code:
    Code:
    $UserArray = array();
    $UserDataArray = array();
    $abfrage = @mysql_query("SELECT * from $DB_Users order by id ASC")or die("Konnte den SELECT-Befehl nicht ausführen!!!");
    while($eintraege = mysql_fetch_object($abfrage))
      {
         $UserArray[$eintraege->id] = $eintraege->name;
         $UserDataArray[$eintraege->name] = array();
         $UserDataArray[$eintraege->name]['id'] = $eintraege->id;
         $UserDataArray[$eintraege->name]['password'] = $eintraege->password;
      }
    @mysql_free_result($abfrage);
    
    function checkUser()
      {
        if(session_is_registered('user') && $_SESSION['user'] != "")
          {
            if(in_array($_SESSION['user'],$UserArray)) return true;  //  <-- ZEILE 53
          }
        else return false;
      }
    Wird die Funktion checkUser() aufgerufen erhalte ich folgenden Error:

    Warning: in_array(): Wrong datatype for second argument in /home/htdocs/web15/html/index.php on line 53
    gettype($UserArray) liefert mir aber "array", und wenn ich das Array per Keys auslesen lasse funktionierts auch.

    Was mache ich falsch???
    simbo.de

  • #2
    er kennt $UserArray nicht würd ich mal behaupten, da das array innerhalb der funktion nicht sichtbar ist.
    das array ist ja nicht global.
    [b][url=http://www.benjamin-klaile.de]privater Blog[/url][/b]

    Kommentar


    • #3
      was mach ich da jetzt?
      simbo.de

      Kommentar


      • #4
        du übergibst das array als zweiten parameter an die funktion.
        [b][url=http://www.benjamin-klaile.de]privater Blog[/url][/b]

        Kommentar


        • #5
          danke!
          hat funktioniert...
          simbo.de

          Kommentar


          • #6
            habe die selbe Fehlermeldung, doch mein "in_array" ist nicht in einer Funktion!

            <?
            $q=0;
            $r=mysql_query("SELECT kaempfer, gegner, time FROM echtzeit_kampf WHERE runde=0 ORDER BY id DESC");
            while($row=mysql_fetch_assoc($r))
            {
            $kaempfer=$row['kaempfer'];
            $gegner=$row['gegner'];
            $time=$row['time'];
            $k_beginn=date ('d.m.y, H:i:s', $time);

            if (!in_array($kaempfer, $k_m))
            {
            $x=mysql_fetch_assoc(mysql_query("SELECT runde FROM echtzeit_kampf WHERE kaempfer='$kaempfer' ORDER BY runde DESC LIMIT 0, 1"));
            $akt_runde=$x['runde'];

            $k_m[$q]=$kaempfer;
            $q++;
            $k_m[$q]=$gegner;
            $q++;
            }
            }
            ?>


            Kann mir da bitte jemand helfen?!

            Danke!

            Kommentar


            • #7
              du solltest das Array $k_m erstmal erstellen, bevor du es mit in_array überprüfst...
              simbo.de

              Kommentar


              • #8
                oh man, bin ich so dumm!

                Danke! *verlegen guck*

                Kommentar


                • #9
                  hinterher ist man immer schlauer...
                  simbo.de

                  Kommentar

                  Lädt...
                  X