2014-01-21 2 views
-2

Это простая вещь, но я борюсь с этим. Мне нужно поставить var внутри другого. Мне нужно поместить автора var, внутри макета var. Как я могу это сделать? Вот пример.Поместите var внутри другого var PHP

$layout=' 
<h2 class="title"><a href="#">Title</a></h2> 
<p class="meta">Sunday, December 03, 2013 7:27 AM Posted by <a href="#">'.$Someone.'</a></p> 
<div class="entry"> 
</div>'; 

if($autor=="john") 
    $someone=$autor; 
    echo $layout; 
else if($autor=="mary") 
    $someone=$autor; 
    echo $layout; 
+0

условный сначала, а затем просто вызовите переменную $ someone внутри вашей переменной $ layout. ; D – B4NZ41

+2

Yo dawg! Я слышал, что вам нравятся переменные. – Halcyon

ответ

5

Вам просто нужно немного изменить порядок своего кода. Вы должны определить переменную, прежде чем вы можете использовать его:

$someone=$autor; 

$layout=' 
<h2 class="title"><a href="#">Title</a></h2> 
<p class="meta">Sunday, December 03, 2013 7:27 AM Posted by <a href="#">'.$someone.'</a></p> 
<div class="entry"> 
</div>'; 

echo $layout; 

Условный оператор также может быть упрощена, так как $someone всегда становится значением $autor. Фактически, вы действительно можете полностью устранить это.

Кроме того, структуры управления должны использовать фигурные скобки, если блоки, которые они содержат, содержат более одной строки.

PHP-переменные также чувствительны к регистру. Таким образом, $someone и $Someone не относятся к одной и той же вещи.

2

я извлекал если/другое условие, так как оно не имеет никакого смысла:

$layout='<h2 class="title"><a href="#">Title</a></h2><p class="meta">Sunday, December 03, 2013 7:27 AM Posted by <a href="#">'.$autor.'</a></p> 
<div class="entry"> 
</div>'; 
0

вам нужно делегировать $ кому-то переменную, прежде чем пытаться вызвать его, вы также должны иметь один и тот же корпус, повсюду для переменная:

if($autor=="john"){ 
    $someone=$autor; 
} else if($autor=="john") { 
    $someone=$autor; 
} 

$layout=' 
<h2 class="title"><a href="#">Title</a></h2> 
<p class="meta">Sunday, December 03, 2013 7:27 AM Posted by <a href="#">'.$someone.'</a></p> 
<div class="entry"> 
</div>'; 

echo $layout; 
0

Это не «помещение переменной внутри другой переменной». Это задерживает оценку и/или задерживает интерполяцию строк.

Возможно, удаленно, но в этом случае ваше решение прост: просто не строите $layout так рано!

Смежные вопросы