Có cần thiết phải khởi tạo / khai báo một biến trước một vòng lặp hoặc một hàm không?
Cho dù tôi khởi tạo / khai báo biến trước hay không mã của tôi vẫn hoạt động.
Tôi đang chia sẻ mã demo cho những gì tôi thực sự muốn nói:
$cars = null;
foreach [$build as $brand] {
$cars .= $brand . ",";
}
echo $cars;
Hoặc
foreach [$build as $brand] {
$cars .= $brand . ",";
}
echo $cars;
Cả hai đoạn mã hoạt động giống nhau đối với tôi, vậy có cần phải khởi tạo / khai báo một biến ở đầu không?
Đã hỏi ngày 20 tháng 6 năm 2015 lúc 15:23Jun 20, 2015 at 15:23
PHP không yêu cầu nó, nhưng đó là một thực tế tốt để luôn khởi tạo các biến của bạn.
Nếu bạn không khởi tạo các biến của mình với giá trị mặc định, công cụ PHP sẽ thực hiện một loại đúc tùy thuộc vào cách bạn đang sử dụng biến. Điều này đôi khi sẽ dẫn đến hành vi bất ngờ.
Vì vậy, tóm lại, theo tôi, luôn đặt giá trị mặc định cho các biến của bạn.
P.S. Trong trường hợp của bạn, giá trị phải được đặt thành "" [chuỗi trống], thay vì null, vì bạn đang sử dụng nó để kết hợp các chuỗi khác.
Chỉnh sửa
Như những người khác [@n-dru] đã lưu ý, nếu bạn không đặt giá trị mặc định, một thông báo sẽ được tạo.
Đã trả lời ngày 20 tháng 6 năm 2015 lúc 15:28Jun 20, 2015 at 15:28
AlexanderalexanderAlexander
7376 Huy hiệu bạc5 Huy hiệu Đồng6 silver badges5 bronze badges
5
Bạn nên gán cho nó một chuỗi trống $cars = '';
, nếu không [trong trường hợp bạn có báo cáo lỗi], bạn sẽ thấy một thông báo:
Thông báo: Biến không xác định: ô tô: Undefined variable: cars
PHP sẽ cho rằng nó trống và chuỗi kết quả sẽ giống nhau, nhưng bạn không muốn gây thêm chi phí gây ra do cần phải đăng nhập thông báo đó. Vì vậy, hiệu suất khôn ngoan, tốt hơn là gán nó trống trước.performance-wise it is better to assign it empty first.
Ngoài ra, sử dụng các biên tập viên như Aptana, v.v., bạn có thể muốn nhấn F3
để xem biến đổi có nguồn gốc từ đâu. Và thật thoải mái khi có nó khởi tạo ở đâu đó. Vì vậy, việc gỡ lỗi khôn ngoan, tốt hơn là có nơi sinh của biến đổi rõ ràng.debugging-wise it is also better to have obvious place of the variable's birth.
Đã trả lời ngày 20 tháng 6 năm 2015 lúc 15:29Jun 20, 2015 at 15:29
n-drun-drun-dru
9.2322 huy hiệu vàng28 Huy hiệu bạc41 Huy hiệu đồng2 gold badges28 silver badges41 bronze badges
0
Nó phụ thuộc: Nếu bạn khai báo một biến bên ngoài hàm, nó có "phạm vi toàn cầu", điều đó có nghĩa là nó chỉ có thể được truy cập bên ngoài hàm.
Nếu một biến được khai báo bên trong một hàm, nó có "phạm vi cục bộ" và chỉ có thể được sử dụng bên trong hàm đó. [//www.w3schools.com/php/php_variables.asp]
Nhưng có vẻ như "xe" biến mà bạn đã xác định bên ngoài chức năng hoạt động cho chức năng của bạn ngay cả khi không có từ khóa toàn cầu ...
Đã trả lời ngày 20 tháng 6 năm 2015 lúc 15:36Jun 20, 2015 at 15:36
NicolenicoleNicole
191 Huy hiệu bạc4 Huy hiệu đồng1 silver badge4 bronze badges
1
Các biến là "container" để lưu trữ thông tin.
Tạo [khai báo] các biến PHP
Trong PHP, một biến bắt đầu với dấu $
, theo sau là tên của biến:
Sau khi thực hiện các câu lệnh trên, biến $txt
sẽ giữ giá trị Hello world!
, biến $x
sẽ giữ giá trị 5
và biến $y
sẽ giữ giá trị ____10.
Lưu ý: Khi bạn gán giá trị văn bản cho một biến, hãy đặt báo giá xung quanh giá trị. When you assign a text value to a variable, put quotes around the value.
Lưu ý: Không giống như các ngôn ngữ lập trình khác, PHP không có lệnh để khai báo một biến. Nó được tạo ra ngay khi bạn đầu tiên gán một giá trị cho nó. Unlike other programming languages, PHP has no command for declaring a variable. It is created the moment you first assign a value to it.
Hãy nghĩ về các biến làm container để lưu trữ dữ liệu.
Biến PHP
Một biến có thể có một tên ngắn [như X và Y] hoặc một tên mô tả hơn [Age, Carname, Total_Volume].
Quy tắc cho các biến PHP:
- Một biến bắt đầu với dấu
$
, theo sau là tên của biến - Một tên biến phải bắt đầu bằng một chữ cái hoặc ký tự dấu gạch dưới
- Một tên biến không thể bắt đầu với một số
- Một tên biến chỉ có thể chứa các ký tự alpha-numeric và nhấn mạnh [A-Z, 0-9 và _]
- Tên biến có tính nhạy cảm trường hợp [
2 vàforeach [$build as $brand] { $cars .= $brand . ","; } echo $cars;
3 là hai biến khác nhau]foreach [$build as $brand] { $cars .= $brand . ","; } echo $cars;
Hãy nhớ rằng tên biến PHP là nhạy cảm trường hợp!
Biến đầu ra
Câu lệnh PHP
foreach [$build as $brand] {
$cars .= $brand . ",";
}
echo $cars;
4 thường được sử dụng để xuất dữ liệu vào màn hình.Ví dụ sau sẽ hiển thị cách xuất văn bản và một biến:
Ví dụ sau đây sẽ tạo ra đầu ra giống như ví dụ trên:
Thí dụ
Hãy tự mình thử »
Ví dụ sau sẽ xuất ra tổng của hai biến:
Lưu ý: Bạn sẽ tìm hiểu thêm về câu lệnh
4 và cách xuất dữ liệu vào màn hình trong chương tiếp theo. You will learn
more about the foreach [$build as $brand] {
$cars .= $brand . ",";
}
echo $cars;
foreach [$build as $brand] {
$cars .= $brand . ",";
}
echo $cars;
4 statement and how to output data to the screen in the next chapter.PHP là một ngôn ngữ được đánh máy một cách lỏng lẻo
Trong ví dụ trên, lưu ý rằng chúng tôi không phải nói PHP nào loại dữ liệu là biến là.
PHP tự động liên kết một loại dữ liệu với biến, tùy thuộc vào giá trị của nó. Vì các loại dữ liệu không được đặt theo nghĩa nghiêm ngặt, bạn có thể làm những việc như thêm một chuỗi vào một số nguyên mà không gây ra lỗi.
Trong Php 7, khai báo loại đã được thêm vào. Điều này cung cấp một tùy chọn để chỉ định kiểu dữ liệu dự kiến khi khai báo một hàm và bằng cách cho phép yêu cầu nghiêm ngặt, nó sẽ đưa ra "lỗi nghiêm trọng" trên sự không phù hợp loại.
Bạn sẽ tìm hiểu thêm về các yêu cầu
foreach [$build as $brand] {
$cars .= $brand . ",";
}
echo $cars;
6 và foreach [$build as $brand] {
$cars .= $brand . ",";
}
echo $cars;
7 và khai báo kiểu dữ liệu trong chương chức năng PHP.