2012-05-23 3 views
-1

Код ниже не для того, чтобы передать строки для меня, как получилось?Строка конкатенации PHP

$test = $this->address . $this->url; 

echo $test; // prints the content of $this->address only 

Но этот код работает:

$begin = $this->address; 
$end = $this->url; 
$test = $begin.$end; 

echo $test; // prints the concatenation 

Что мне не хватает?

+8

Попробуйте 'Эхо $ this-> url'. Эта переменная может быть пуста в первом случае! – jbrtrnd

+0

@ JBRTRND-DEV, Нет, это не пусто, я протестировал его – Alon

+0

Проверьте, действительно ли переменная имеет какое-либо значение: 'strlen()', 'empty()', 'isset()' – Vishal

ответ

1

Это абсолютно допустимый код.

Делают

echo 'value of url: '.$this->url; 

, когда линия, прежде чем пытаться объединить две строки. Он должен быть определенно пустым. Если это не пустой пытаться конкатенацию, как это:

$test = '' . $this->address . $this->url; 
+1

попробуйте сначала отладить , используйте 'isset()', 'empty()', 'vardump()' для проверки значений. – Raptor

0

Проверить echo $this->url
это может быть так, что переменная пуста

+0

Это, кажется, комментарий не ответ, я думаю. – Dhruvisha