2014-12-06 2 views
1
여기

내 젠드 PHTML 파일 :는 젠드 프레임 워크의 모든 열을 표시

<?php 
foreach ($this ->books as $key =>$value) 
{ 
    echo $value->title.'by'.$value->author.'<br>'; 
} 

및 결과는 다음과 같습니다
첫 titleby 첫 번째 책
초 titleby 두 번째 책
세 번째 titleby 세 번째 책
네 번째 titleby 제 4 권


"제목"및 "저자 "은 내 테이블의 두 열이고, 내 테이블은 네 개의 다른 열을 가지고 있습니다. 테이블 안의 이름을 모른 채 모든 열을 반복하려고합니다.

+0

미안하지만, 문제는 명확하지 않다. 'title'과'author'만이 유일한 컬럼이고, 여러분은 구조를 테이블로 포장하고 싶습니까? 아니면 그렇지 않고, 이름을 모른 채 모든 열을 반복하고 싶습니까? – raina77ow

+0

의견을 보내 주셔서 감사합니다.이 질문을 변경하겠습니다. 아니요, 그렇지 않습니다. 이름을 모른 채 모든 열을 반복하고 싶습니다. – AFN

답변

0

아마도 Refection을 사용할 수 있습니다.

시도의이 같은 :

class A{ 
    public $prop1 = null; 
    public $prop2 = null; 
    public $prop3 = null; 
    public $prop4 = null; 
} 

$a1 = new A(); 
$a1->prop1 = "prop11"; 
$a1->prop2 = "prop12"; 
$a1->prop3 = "prop13"; 
$a1->prop4 = "prop14"; 


$a2 = new A(); 
$a2->prop1 = "prop21"; 
$a2->prop2 = "prop22"; 
$a2->prop3 = "prop23"; 
$a2->prop4 = "prop24"; 

$tab = array($a1,$a2); 

foreach($tab as $key => $value){ 
    $reflector = new ReflectionClass(get_class($value)); 

    $properties = $reflector->getProperties(ReflectionProperty::IS_PUBLIC); 
    $var_out = ""; 
    foreach($properties as $property){ 
     $var_out .= ", " . $property->getName() . " = ". $value->{$property->getName()}; 
    } 
    echo trim($var_out, ", ") . "<br>"; 
} 
관련 문제