php konvertieren stdClass object to array

Könnte jemand Einblick geben, warum bekomme ich diese zu arbeiten.

Ich möchte die Abfrage eine array zu sehen, ob die USER->id dass der derzeit angemeldet ist ist die Zuordnung einer bestimmten Rolle:

$contextroles = get_records_sql("SELECT userid FROM {$CFG->prefix}role_assignments WHERE contextid = 23 AND roleid = 3");

function object2array($object) {
    if (is_object($object)) {
        foreach ($object as $key => $value) {
            $array[$key] = $value;
        }
    }
    else {
        $array = $object;
    }
    return $array;
}

$alloweduser = object2array($contextroles);

if (in_array($USER->id, $alloweduser)) {
    echo'Your in<br />';
    echo $USER->id.'<br />';
    print_r($alloweduser);
}
else{
    echo'<br />You do not have permission to acces this database.<br />';
    echo $USER->id.'<br />';
    print_r($alloweduser);
    exit;
}

Im Moment immer diese Ausgabe:

Sie haben keine Berechtigung zum Zugang dieser Datenbank.

5410

Array ( [7] => stdClass Object ( [userid] => 7 ) [9] => stdClass Object ( [userid] => 9 ) [27] => stdClass Object ( [userid] => 27 ) [98] => stdClass Object ( [userid] => 98 ) [203] => stdClass Object ( [userid] => 203 ) [252] => stdClass Object ( [userid] => 252 ) [5410] => stdClass Object ( [userid] => 5410 ) )

Wie Sie sehen können 5410 ist in dem array, so sollten Sie nicht get zugegriffen verweigert.
Vielen Dank im Voraus für jede Hilfe.

  • wo ist diese variable/Objekt $USER, $CFG kommen? Und was ist falsch mit dem Objekt, das MÜSSEN Sie Sie konvertieren, um array?
  • Ihre object2array() Funktion ist redundant. Gießen Sie ein Objekt zu (array) hat den gleichen Effekt.
  • Sie sagen nicht, was die get_records_sql() tut. Vielleicht kannst du es ändern, so dass es ein array zurückgibt? Was ist $USER->id? Und zusätzlich ich bin mir nicht sicher, ob Sie tun können, eine foreach auf ein Objekt. Auch "5410" ist nicht im array sondern einen anderen stdObject hält, die die userid "5410". Das ist ein Unterschied.
InformationsquelleAutor Codded | 2011-09-01
Schreibe einen Kommentar