2015-06-08 1 views
-1

У меня есть два вложенных оператора внутри построения строки с <<<EOF После операторов я получаю сообщение об ошибке, которое я не понимаю при продолжении добавления в строку.Операторы PHP с <<< EOF string

Ошибка unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING

function foo_bar() { 
    $phrase = "hello world"; 
    $string = ""; 

    if (0 == 0) { 
     $string .= <<<EOF 
     <b>{$phrase}</b> 
EOF; 
     if (0 == 0) { 
      $string .= <<<EOF 
      <i> of mine</i> 
EOF; 
     } 
     /* comment out to see the error 
     $string .= <<<EOF 
     <u> - the END</u> 
EOF; 
*/ 
    } 

    return $string; 
} 
add_shortcode('foobar', 'foo_bar'); 
+3

На какой строке вы получаете эту ошибку? Пожалуйста, отметьте это с комментарием в коде в своем вопросе – Rizier123

+2

Я получаю «hello world mine - END», когда я запускаю это. – cjhill

+5

Мы могли бы обсудить, являются ли ошибки разбора здесь по теме, но ваш код [даже не запускает один] (http://3v4l.org/o24eK). –

ответ

0

Так суть дискуссии в вышеуказанных замечаний.

Проверка на конечные пробелы после EOF;