Domanda

Supponiamo di avere una matrice di una classe di oggetti definiti dall'utente. Voleva sapere come faccio a estrarre gli elementi dell'array in PHP.

// class definition
class User
{
public $fname;
public $lname;
}

// array of objects of the class defined above
$objUser1 = new User():
$objUser2 = new User():
$objUser3 = new User():
$objUser4 = new User():

$alUser = array();
$alUser[] = $objUser1;
$alUser[] = $objUser2;
$alUser[] = $objUser3;
$alUser[] = $objUser4;


// trying to iterate and extract values using typcasting - this does not work, what is the alternative.
foreach($alUser as $user)
{
$obj = (User) $user; // gives error - unexpected $user;
}

Questo è quanto ho usato per fare in java durante l'estrazione oggetti del Java ArrayList, quindi pensato che il modo in cui PHP potrebbe essere simile. Qualcuno può spiegare.

È stato utile?

Soluzione

foreach ($alUser as $user) {
    $obj = $user;
}

Perché avete bisogno di fusione di caratteri per questo?

Altri suggerimenti

PHP è un linguaggio tipizzato in modo dinamico. Non c'è bisogno di gettare nella maggior parte dei casi.

E 'impossibile lanciare a un utente: consultare la documentazione di PHP su tipo di giocoleria e la colata .

Questo esempio stampare "$user is a object (User)" quattro volte.

foreach($alUser as $user) {
    echo '$user is a ' . get_type($user);

    if(is_object($user)) {
        echo ' (' . get_class($user) . ')';

    echo "\n";
}

Sarebbe bello ad esempio Eclipse PDT per determinare il tipo di oggetto per completamento del codice. altrimenti si è backtracing bloccato, in cui la matrice è stato creato e quali oggetti sono stati messi in esso e poi guardare il file di classe per vedere quali sono disponibili le funzioni (o temperatura creano un nuovo theObject () per vedere quali metodi / proprietà sono disponibili se si sapere che tipo di oggetto è. altre volte potrebbero non essere così facile se molti oggetti funzioni che creano tali array e gli oggetti in loro chiamano, quindi deve backtrace vedere come quei array fatti). Sentito un paio di altri IDE possono essere in grado di determinare il tipo di meglio così PhpED forse?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top