2017-10-26 2 views
0

현재 Propel에서 CMS를 재구성 중입니다. 현재 데이터베이스에서 여러 본문을 가져 오는 기능이 있지만 $ i 변수를 기반으로 원하는 본문을 얻으려고 애 쓰고 있습니다. 다음과 같이

기능은 다음과 같습니다

for ($i = 0; $i < $item->getColumns(); $i++) { 
    if (strlen(strip_tags(stripslashes($item->getBody1()))) > 100) { 
     $body = strip_tags(stripslashes(substr(strip_tags($item->getBody$i()), 0, strpos(strip_tags($item->getBody.$i()), ' ', 100)))) . ' ...'; 
    } else { 
     $body = stripslashes($item->getBody.$i()); 
    } 
} 

을 기능에서는 위의 참조 코드를 $ 항목 ->를 getBody1(). 함수가 $ i 변수를 사용하여 원하는 본문을 가져 오도록합니다. 예를 들어 $ i = 2 인 경우 getBody 함수는 $ item-> getBody2() 여야합니다.

$ item-> getBody. $ i()를 사용하려고했지만 작동하지 않습니다. 이걸 만들 수있는 방법이 있을까요?

도움을 주시면 감사하겠습니다.

답변

1

이것은 Propel에서는 문제가 아니지만 PHP에서는 문제가되지 않습니다. 대신 사용

:

$item->getBody$i(); 

사용 :

$getIthBodyMethod = 'getBody' . $i; 
$item->$getIthBodyMethod(); 

PHP manual on variable methods

+0

감사합니다, 난 이미 자신 어제하지만 덕분에 어쨌든 그것을 발견했습니다 : –

관련 문제