# 基本语法

PHP 中的变量用一个美元符号 `$` 后面跟变量名来表示。变量名是区分大小写的。变量名与 PHP 中其它的标签一样遵循相同的规则。一个有效的变量名由字母或者下划线开头，后面跟上任意数量的字母，数字，或者下划线。

```php
<?php

$foo = 'foo';
$Foo = 'Foo';
var_dump($foo); // string(3) "foo"
var_dump($Foo); // string(3) "Foo"

```

以下划线开头，合法。

```php
<?php

$_foo = 'foo';
var_dump($_foo); // string(3) "foo"

```

变量默认总是传值赋值。那也就是说，当将一个表达式的值赋予一个变量时，整个原始表达式的值被赋值到目标变量。这意味着，当一个变量的值赋予另外一个变量时，改变其中一个变量的值，将不会影响到另外一个变量。

```php
<?php

$foo = 'foo';
$bar = $foo;
$bar = 'bar';
var_dump($foo); // string(3) "foo"
var_dump($bar); // string(3) "bar"

```

PHP 也提供了另外一种方式给变量赋值：引用赋值。这意味着新的变量简单的引用了原始变量。改动新的变量将影响到原始变量，反之亦然。

```php
<?php

$foo = 'foo';
$bar = &$foo;
$bar = 'bar';
var_dump($foo); // string(3) "bar"
var_dump($bar); // string(3) "bar"

```

