読者です 読者をやめる 読者になる 読者になる

Dto…かどうかわからんがPHPでオブジェクトの配列化

Dto側privateにしていないがどうなのか?

-----------------------------------------------------------

■Sample.php

-----------------------------------------------------------

<?php

require_once("SampleDto.php");

$user = "ユーザ";
$pass = "パスワード";

$dataObj = new SampleDto($user, $pass);
var_dump($dataObj ); // オブジェクトになっている
$dataArr = get_object_vars($dataObj);
var_dump($dataArr); // 連想配列になっている

foreach($dataArr as $dataArrayKey => $dataArraydata) {
echo "<br />";
echo $dataArrayKey . " : " . $dataArraydata;
echo "<br />";
}
?>

 

-----------------------------------------------------------

■SampleDto.php

-----------------------------------------------------------

<?php

class SampleDto {

public $user = null;
public $pass = null;

function __construct($user, $pass) {
$this->user = $user;
$this->pass = $pass;
}

function getUser($user) {
return $this->user;
}

function setUser($user) {
$this->user = $user;
return;
}

function getPass() {
return $this->user;
}

function setPass($pass) {
$this->pass = $pass;
return;
}
}
?>

 

 

追記

こっちで上手くいってしまった。get_object_vars()をしなくてもオブジェクトをそのまま配列化できるのか????たぶんforeach()で取り出せているだけ???

 

<?php
require_once("SampleDto.php");

$user = "ユーザ";
$pass = "パスワード";

$dataArr = new SampleDto($user, $pass);
var_dump($dataArr);

/*$dataArr = get_object_vars($dataObj);

var_dump($dataArr);
*/

foreach($dataArr as $dataArrayKey => $dataArraydata) {
echo "<br />";
echo $dataArrayKey . " : " . $dataArraydata;
echo "<br />";
}
?>