Hướng dẫn php variable naming conventions - quy ước đặt tên biến php

Các biến trong PHP được biểu thị bằng một dấu hiệu đô la theo sau là tên của biến. Tên biến là nhạy cảm trường hợp.

Tên biến tuân theo các quy tắc giống như các nhãn khác trong PHP. Một tên biến hợp lệ bắt đầu bằng một chữ cái hoặc dấu gạch dưới, theo sau là bất kỳ số lượng chữ cái, số hoặc dấu gạch dưới. Như một biểu hiện chính quy, nó sẽ được thể hiện như vậy: ^[a-zA-Z_\x80-\xff][a-zA-Z0-9_\x80-\xff]*$

Lưu ý: Đối với mục đích của chúng tôi ở đây, một lá thư là A-Z, A-Z và các byte từ 128 đến 255 (0x80-0xff).: For our purposes here, a letter is a-z, A-Z, and the bytes from 128 through 255 (0x80-0xff).

Lưu ý: $this là một biến đặc biệt không thể được chỉ định. Trước Php 7.1.0, việc gán gián tiếp (ví dụ: bằng cách sử dụng các biến biến) là có thể.: $this is a special variable that can't be assigned. Prior to PHP 7.1.0, indirect assignment (e.g. by using variable variables) was possible.

Để biết thông tin về các chức năng liên quan đến biến, hãy xem tham chiếu chức năng biến.

<?php
$var 
'Bob';
$Var 'Joe';
echo 
"$var$Var";      // outputs "Bob, Joe"$4site 'not yet';     // invalid; starts with a number
$_4site 'not yet';    // valid; starts with an underscore
$täyte 'mansikka';    // valid; 'ä' is (Extended) ASCII 228.
?>

Theo mặc định, các biến luôn được gán theo giá trị. Điều đó có nghĩa là, khi bạn gán một biểu thức cho một biến, toàn bộ giá trị của biểu thức gốc được sao chép vào biến đích. Điều này có nghĩa là, ví dụ, sau khi gán giá trị của một biến cho một biến khác, việc thay đổi một trong các biến đó sẽ không có tác dụng với biến khác. Để biết thêm thông tin về loại bài tập này, hãy xem chương về biểu thức.

PHP cũng cung cấp một cách khác để gán các giá trị cho các biến: gán theo tham chiếu. Điều này có nghĩa là biến mới chỉ đơn giản là tham chiếu (nói cách khác, "trở thành bí danh cho" hoặc "điểm cho") biến ban đầu. Các thay đổi đối với biến mới ảnh hưởng đến bản gốc và ngược lại.

Để gán bằng tham chiếu, chỉ cần trả một ampersand (&) cho đầu biến đang được gán (biến nguồn). Chẳng hạn, mã đầu ra mã sau đây 'My name is Bob' hai lần:

<?php
$foo 
'Bob';              // Assign the value 'Bob' to $foo
$bar = &$foo;              // Reference $foo via $bar.
$bar "My name is $bar";  // Alter $bar...
echo $bar;
echo 
$foo;                 // $foo is altered too.
?>

Một điều quan trọng cần lưu ý là chỉ các biến được đặt tên mới có thể được gán bằng tham chiếu.

<?php
$foo 
25;
$bar = &$foo;      // This is a valid assignment.
$bar = &(24 7);  // Invalid; references an unnamed expression.function test()
{
   return 
25;
}
$bar = &test();    // Invalid.
?>

Không cần thiết phải khởi tạo các biến trong PHP tuy nhiên nó là một thực tiễn rất tốt. Các biến không được tiêu cực có giá trị mặc định thuộc loại của chúng tùy thuộc vào ngữ cảnh mà chúng được sử dụng - booleans mặc định là false, số nguyên và floats mặc định về 0 mảng.false, integers and floats default to zero, strings (e.g. used in echo) are set as an empty string and arrays become to an empty array.

Ví dụ #1 Giá trị mặc định của các biến không được chỉ định

<?php
// Unset AND unreferenced (no use context) variable; outputs NULL
var_dump($unset_var);// Boolean usage; outputs 'false' (See ternary operators for more on this syntax)
echo($unset_bool "true\n" "false\n");// String usage; outputs 'string(3) "abc"'
$unset_str .= 'abc';
var_dump($unset_str);// Integer usage; outputs 'int(25)'
$unset_int += 25// 0 + 25 => 25
var_dump($unset_int);// Float usage; outputs 'float(1.25)'
$unset_float += 1.25;
var_dump($unset_float);// Array usage; outputs array(1) {  [3]=>  string(3) "def" }
$unset_arr[3] = "def"// array() + array(3 => "def") => array(3 => "def")
var_dump($unset_arr);// Object usage; creates new stdClass object (see http://www.php.net/manual/en/reserved.classes.php)
// Outputs: object(stdClass)#1 (1) {  ["foo"]=>  string(3) "bar" }
$unset_obj->foo 'bar';
var_dump($unset_obj);
?>

Dựa vào giá trị mặc định của một biến không chính thức là có vấn đề trong trường hợp bao gồm một tệp vào một tệp khác sử dụng cùng một tên biến. Lỗi cấp E_NOTICE được ban hành trong trường hợp làm việc với các biến không được chỉ định, tuy nhiên không phải trong trường hợp nối thêm các phần tử vào mảng không được hưởng. Cấu trúc ngôn ngữ của isset () có thể được sử dụng để phát hiện nếu một biến đã được khởi tạo.isset() language construct can be used to detect if a variable has been already initialized.

Jeff Dot phpnet tại Tanasity Dot Com ¶

12 năm trước

This page should include a note on variable lifecycle:

0x80-0xff0

0x80-0xff1

0x80-0xff2

0x80-0xff3

0x80-0xff4

0x80-0xff5

0x80-0xff6

0x80-0xff7

0x80-0xff8

0x80-0xff9

Anisgazig tại Gmail Dot Com ¶

1 năm trước

$this0

$this1

$this2

$this3

$this4

$this5

$this6

$this7

0x80-0xff9

Anisgazig tại Gmail Dot Com ¶

1 năm trước

$this9

<?php
$var 
'Bob';
$Var 'Joe';
echo 
"$var$Var";      // outputs "Bob, Joe"$4site 'not yet';     // invalid; starts with a number
$_4site 'not yet';    // valid; starts with an underscore
$täyte 'mansikka';    // valid; 'ä' is (Extended) ASCII 228.
?>
0

<?php
$var 
'Bob';
$Var 'Joe';
echo 
"$var$Var";      // outputs "Bob, Joe"$4site 'not yet';     // invalid; starts with a number
$_4site 'not yet';    // valid; starts with an underscore
$täyte 'mansikka';    // valid; 'ä' is (Extended) ASCII 228.
?>
1

<?php
$var 
'Bob';
$Var 'Joe';
echo 
"$var$Var";      // outputs "Bob, Joe"$4site 'not yet';     // invalid; starts with a number
$_4site 'not yet';    // valid; starts with an underscore
$täyte 'mansikka';    // valid; 'ä' is (Extended) ASCII 228.
?>
2

0x80-0xff9

Anisgazig tại Gmail Dot Com ¶

1 năm trước

<?php
$var 
'Bob';
$Var 'Joe';
echo 
"$var$Var";      // outputs "Bob, Joe"$4site 'not yet';     // invalid; starts with a number
$_4site 'not yet';    // valid; starts with an underscore
$täyte 'mansikka';    // valid; 'ä' is (Extended) ASCII 228.
?>
4

<?php
$var 
'Bob';
$Var 'Joe';
echo 
"$var$Var";      // outputs "Bob, Joe"$4site 'not yet';     // invalid; starts with a number
$_4site 'not yet';    // valid; starts with an underscore
$täyte 'mansikka';    // valid; 'ä' is (Extended) ASCII 228.
?>
0

<?php
$var 
'Bob';
$Var 'Joe';
echo 
"$var$Var";      // outputs "Bob, Joe"$4site 'not yet';     // invalid; starts with a number
$_4site 'not yet';    // valid; starts with an underscore
$täyte 'mansikka';    // valid; 'ä' is (Extended) ASCII 228.
?>
1

<?php
$var 
'Bob';
$Var 'Joe';
echo 
"$var$Var";      // outputs "Bob, Joe"$4site 'not yet';     // invalid; starts with a number
$_4site 'not yet';    // valid; starts with an underscore
$täyte 'mansikka';    // valid; 'ä' is (Extended) ASCII 228.
?>
7

0x80-0xff9

11 thàng trước

Ẩn danh ¶

<?php
$var 
'Bob';
$Var 'Joe';
echo 
"$var$Var";      // outputs "Bob, Joe"$4site 'not yet';     // invalid; starts with a number
$_4site 'not yet';    // valid; starts with an underscore
$täyte 'mansikka';    // valid; 'ä' is (Extended) ASCII 228.
?>
9

My name is Bob0

My name is Bob1

My name is Bob2

My name is Bob3

0x80-0xff9