2013-08-14 2 views
0

В чем разница между $var= и $var.=?

Я не могу понять разницу между следующими утверждениями:

$querypost .= "&showposts=$limit"; 
$querypost .= "&paged=$paged"; 
+0

конкатенации таким же образом, как + = или - = а для StrI ngs – harmonickey

+0

Ваш пример не синхронизирован с вашим вопросом. В вашем примере оба случая имеют конкатенацию, поэтому единственная разница между ними имеет значение –

+1

в одном слове '$ var. =?' Is '$ var = $ var. ? ' – bansi

ответ

4

То есть конкатенации строки так, например

$querypost = 'a'; 
$querypost = 'b'; // $querypost holds string 'b' now, 
        // it will override the previous value 


$querypost = 'a'; 
$querypost .= 'b'; // $querypost holds 'ab' now 

Если вы хотите дружественное объяснение, думает . как клей, он удерживает две строки в одной переменной вместо того, чтобы переопределять предыдущие.

В вашем случае запрос сцепляются, как правило, программисты делают, что, когда строки запроса являются большими, или они, как правило, объединяются, когда формы имеют дополнительные параметры ...

+1

Это правильно. . до того, как знак равенства является строковым оператором, который объединяет строку. Чтобы узнать больше информации, проверьте это: http://php.net/manual/en/language.operators.string.php –

+0

sry не видел, удаляя мой комментарий – bansi

0

Чувствуете разницу

<?php 

$testing = "Test "; 
$testing = "file"; 

//if we print `$testing` output is `file` $testing overriding the previous value 


$testing = "Test "; 
$testing .= "file";  

//if we print `$testing` output is `Test file`. because **.** is a concatenate the previous value 
?> 

для, например, в Query

$query = "SELECT CURRENT_USER();"; 
$query .= "SELECT Name FROM City ORDER BY ID LIMIT 20, 5"; 
0
$var = "a"; ////results var is no a 
    $var .= "b" ////results var is now ab .= is equal to concatanation of variable or string. 
Смежные вопросы