2013-01-09 12 views
1

다음 코드와 함께 변수를 보내고 양식을 보내려면 inisde라는 텍스트를 사용합니다. 내 문제는 그 텍스트, 예를 들어 foreach 함수 안에 PHP를 실행하는 방법을 알아낼 수 없다는 것입니다.foreach 내부를 사용하는 방법 <<< END, PHP

$somearray; 

$variable = <<<END 

Hello world foreach($somearray as $v){echo $v} //this does not work of course in my case. 

END; 

도움을 주시면 대단히 감사하겠습니다. , 당신에게 \" 100 배의 단지 적은 사용을

+0

당신이 우리의 샘플 출력을 표시 할 수 있습니다 (나는 또한 당신이 준 간단한 예 점에 유의 줄의 foreach()은 쉽게 implode()가 사용할 수있는)? –

+0

Eugh. 그건 정말 나쁘다. 문자열을 만들기 전에 데이터를 준비하십시오. '$ v = implode ('', $ somearray); $ 변수 = "Hello world $ v"; – Quentin

답변

1

<<<END & END;는 인용 부호를 사용하여 동의어입니다 감사합니다. 문자열 내에서 코드를 실행할 수 없으면 대신 결과를 연결해야합니다. 당신이 뭘 하려는지

은 기본적으로 이것이다 :

$variable = ""; 
foreach ($somearray as $v) $variable .= $v; 
0

<<< 구문은 여러 줄 문자열 형식입니다 :

$variable = "foreach($somearray as $v) echo $v;"; 

정말 당신이 가장 가능성이 원하는합니다. 블록 안의 모든 것은 문자열의 일부입니다. 거기에 PHP 코드를 사용할 수 없습니다.

루프 된 블록이 있어야 할 경우 <<< 블록을 변수로 사용하기 전에 해당 문자열을 생성하고이를 문자열에 포함시켜야합니다.

$ins = ''; 
foreach($myarray as $val) {$ins .= "blah, {$val}, etc, ";} 

$variable = <<<END 
    Hello world {$ins} 
END; 

관련 문제