私は PHP の初心者であり、機能するクラス、メソッド、およびプロパティを理解しようとしています。解決したいのに解決できない問題があります。適切な解決策を見つけることができませんでした (私も気に入りました)。
質問する前に、私のクラス/コードは次のとおりです。
メインクラスのユーザー(user.class.php)
class User {
// Properties
protected $_name;
public $surname;
// Methods
public function setName($name) {
$this->_name = $name;
}
public function getName() {
return $this->_name;
}
public function setSurname($surname) {
$this->surname = $surname;
}
public function getSurname() {
return $this->surname;
}
}
子クラス *Premium_User* (premiumUser_child_user.class.php)
class Premium_User extends User {
private $_premiumId;
public function setData($name, $id) {
$this->name = $name;
$this->_premiumId = $id;
}
public function getData() {
return array(
'name' => $this->name,
'id' => $this->_premiumId
);
}
}
コード:
// Class User::
include('user.class.php');
// Child class -> class::User
include('premiumUser_child_user.class.php');
$user = new Premium_User();
$user->setData('P','1');
$user->setData('H','2');
$user->setData('P','3');
$getUserData = $user->getData();
while ($i <= $getUserData['id'] ) {
echo "User: " . $getUserData['name'] . " ID: " . $getUserData['id'] . ".\n"; <br>
$i++;
}
出力:
User: P ID: 3.
User: P ID: 3.
User: P ID: 3.
私がそれを手に入れたいのは:
User: P ID: 1.
User: H ID: 2.
User: P ID: 3.
*array_push* を使用してすべてのエントリを配列に追加しようとしましたが、うまくいきませんでした。