나는 array_push 클래스의 배열을 만드는 PHP 파일을 가지고 있으며이 배열을 JSON 형식으로 변환해야합니다. 배열이 완벽하게 만들어졌지만 JSON으로 인코딩하려고하면 반환되는 값은 빈 요소 배열입니다.JSON에 PHP 패스 배열
PHP의 코드 :
$return = array();
if($_GET['action'] == 'loadImg'){
$id = $_GET['idAct'];
$class = $var->selectActById($id);
$list = $class->getImatgesAct();
for($i = 0; $i < sizeof($list);$i++){
$class = $var->findimatge($list[$i]->getIdBibl());
array_push($return, $class);
}
}
echo json_encode($return,true);
JSON에 의해 반환되는 값은 다음과 같습니다
array
0 =>
object(imatgeclass)[4]
private 'idimatge' => string '1' (length=1)
private 'nomimatge' => string 'hydra' (length=5)
private 'urlimatge' => string 'biblioimg/2012-05-06-23-19-17.jpg' (length=33)
1 =>
object(imatgeclass)[3]
private 'idimatge' => string '2' (length=1)
private 'nomimatge' => string 'pen' (length=3)
private 'urlimatge' => string 'biblioimg/2012-05-06-23-19-36.jpg' (length=33)
:
[{},{}]
감사
는
위해서 var_dump 편집 6,
클래스 정의 :
class imatgeclass{
private $idimatge, $nomimatge, $urlimatge;
public function setData($idimatge,$nomimatge,$urlimatge){
$this->idimatge = $idimatge;
$this->nomimatge = $nomimatge;
$this->urlimatge = $urlimatge;
}
public function getIdImatge(){
return $this->idimatge;
}
public function setIdImatge($idimatge){
$this->idimatge = $idimatge;
}
public function getNomImatge(){
return $this->nomimatge;
}
public function setNomImatge($nomimatge){
$this->nomimatge = $nomimatge;
}
public function geturlimatge(){
return $this->urlimatge;
}
public function setUrlImatge($urlimatge){
$this->urlimatge = $urlimatge;
}
}
'var_dump ($ return);'출력은 무엇입니까? – Paulpro
은 $ class 객체의 값입니까? 그렇다면 객체의 속성이 public인지 확인하십시오. json_encode는 개인 속성에 액세스하지 않습니다. EDIT - 명확히하기 위해 - json_encode는 개인 속성에 액세스 할 수 있지만 클래스 내의 메소드에서 실행되는 경우에만 가능합니다. – TheOx
'$ var-> findimatge ($ list [$ i] -> getIdBibl())'출력은 무엇입니까? '$ class'의 이전 값을 덮어 씁니다. –