Pregunta

Supongamos que tengo una matriz de un objetos de la clase definida por el usuario. Quería saber cómo puedo extraer los elementos de la matriz en 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;
}

Eso es lo que solía hacer en Java, mientras que la extracción de objetos de Java ArrayList, por lo tanto, que la manera PHP podría ser similar. ¿Alguien puede explicarlo.

¿Fue útil?

Solución

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

¿Por qué necesita para este encasillamiento?

Otros consejos

PHP es un lenguaje de tipos dinámicos. No hay necesidad de emitir en la mayoría de los casos.

Es imposible para echar a un usuario: consulte la documentación de PHP en tipo malabares y fundición .

En este ejemplo se imprimiría "$user is a object (User)" cuatro veces.

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

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

    echo "\n";
}

Sería bueno, por ejemplo, Eclipse PDT para determinar el tipo de objeto para la finalización de código. de lo contrario son backtracing atascado, donde se creó la matriz y qué objetos se pusieron en él y luego mira el archivo de clase para ver qué funciones están disponibles (o temperatura crean una nueva theObject () para ver qué métodos / propiedades están disponibles si saber qué tipo de objeto se trata. otras veces pueden no ser tan fácil si muchos objetos llaman funciones que crean esas matrices y objetos en ellos, por lo que tiene que traza para ver cómo esas matrices hechas). Oído algunas otras de IDE pueden ser capaces de determinar el tipo mejor así PHPEd posiblemente?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top