سؤال

لنفترض أن لدي مجموعة من كائنات فئة محددة من قبل المستخدم. أراد أن يعرف كيف استخراج عناصر الصفيف في 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;
}

هذا كيف اعتدت أن أقوم به في Java أثناء استخراج الكائنات من Java Arraylist، وبالتالي فكرت أن طريقة PHP قد تكون متشابهة. يمكن لأي شخص أن يفسر ذلك.

هل كانت مفيدة؟

المحلول

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

لماذا تحتاج typecasting لهذا؟

نصائح أخرى

PHP لغة مكتوبة ديناميكيا. ليست هناك حاجة للإدلاء في معظم الحالات.

من المستحيل أن يلقي إلى مستخدم: انظر وثائق PHP اكتب شعوذة والصب.

هذا المثال سطبع "$user is a object (User)" أربع مرات.

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

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

    echo "\n";
}

سيكون من الجيد على سبيل المثال Eclipse PDT لتحديد نوع الكائن لإكمال التعليمات البرمجية. وإلا فإنك عالقت في التراكيت، حيث تم إنشاء الصفيف وما هي الكائنات التي تم وضعها فيها، ثم انظر إلى ملف الفصل لمعرفة الوظائف المتوفرة (أو TEMP إنشاء temp إنشاء thebject جديد () لمعرفة الطرق / الخصائص المتوفرة إذا كنت تعرف على نوع الكائن. في أوقات أخرى غير سهلة إذا كانت العديد من الكائنات تدعو الوظائف التي تنشئ الصفائف والكائنات هذه، لذلك يجب عليك التراكي لمعرفة كيفية جعل هذه الصفائف). سمعت عددا قليلا من IDE قد تكون قادرة على تحديد النوع أفضل مثل phped ربما؟

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top