Làm cách nào để đặt giá trị mặc định cho một biến trong PHP?

Nếu một biến được sử dụng thường xuyên trong các mẫu của bạn, việc áp dụng công cụ sửa đổi

var_dump($unset_var); // outputs NULL
8 mỗi khi nó được đề cập có thể hơi xấu. Bạn có thể khắc phục điều này bằng cách gán giá trị mặc định cho biến với hàm
var_dump($unset_var); // outputs NULL
9

Ví dụ 21. 2. Gán một biến mẫu giá trị mặc định của nó

{* do this somewhere at the top of your template *}
{assign var='title' value=$title|default:'no title'}

{* if $title was empty, it now contains the value "no title" when you use it *}
{$title}

    

Xem thêm công cụ sửa đổi

var_dump($unset_var); // outputs NULL
8 và

Mặc dù không cần thiết trong PHP, tuy nhiên, việc khởi tạo các biến là một cách thực hành rất tốt. Các biến chưa được khởi tạo có giá trị mặc định của loại của chúng tùy thuộc vào ngữ cảnh mà chúng được sử dụng

Bỏ đặt VÀ không được ước tính

var_dump($unset_var); // outputs NULL

Boolean

echo($unset_bool ? "true\n" : "false\n"); // outputs 'false' 

Chuỗi

$unset_str .= 'abc';
var_dump($unset_str); // outputs 'string(3) "abc"'

số nguyên

$unset_int += 25; // 0 + 25 => 25
var_dump($unset_int); // outputs 'int(25)'

phao/gấp đôi

$unset_float += 1.25;
var_dump($unset_float); // outputs 'float(1.25)'

Mảng

$unset_arr[3] = "def";
var_dump($unset_arr); //  outputs array(1) {  [3]=>  string(3) "def" }

Vật

$unset_obj->foo = 'bar';
var_dump($unset_obj); // Outputs: object(stdClass)#1 (1) {  ["foo"]=>  string(3) "bar" }

Việc dựa vào giá trị mặc định của một biến chưa được khởi tạo là một vấn đề trong trường hợp gộp một tệp này vào một tệp khác sử dụng cùng một tên biến

Khi thiết kế các hàm của bạn, việc có thể gán giá trị mặc định cho các tham số không được truyền thường rất hữu ích - PHP thực hiện điều này cho hầu hết các hàm của nó và nó giúp bạn tiết kiệm được việc phải truyền tham số trong phần lớn thời gian nếu chúng thường được truyền.

Để xác định các tham số mặc định của riêng bạn cho một hàm, chỉ cần thêm giá trị hằng số mà bạn muốn chúng được đặt sau các biến, như thế này

________số 8

Kịch bản đó sẽ xuất ra như sau

echo($unset_bool ? "true\n" : "false\n"); // outputs 'false' 
1

Bây giờ, hãy xem xét chức năng này

function doBar($FirstName, $LastName = "Smith") { }

Điều đó có nghĩa là cả $FirstName và $LastName đều được đặt thành Smith phải không?

var_dump($unset_var); // outputs NULL
0

Vì vậy, để chào một người tên là John Smith, bạn chỉ cần sử dụng

var_dump($unset_var); // outputs NULL
1

Để chào một người tên là Tom Davies, bạn sẽ sử dụng

var_dump($unset_var); // outputs NULL
2

Để chào một người tên là Tom Smith, bạn sẽ sử dụng

var_dump($unset_var); // outputs NULL
3

Bây giờ, bạn sẽ chào một người tên là John Wilson như thế nào? . Nhưng nếu bạn thử mã như thế này, bạn sẽ thấy nó không hoạt động

var_dump($unset_var); // outputs NULL
4

Thay vì John Wilson, bạn sẽ nhận được Wilson Smith - PHP sẽ giả sử tham số bạn cung cấp là tên, vì nó điền các tham số của nó từ trái sang phải. Logic tương tự quy định rằng bạn không thể đặt giá trị mặc định trước giá trị không mặc định, như thế này

var_dump($unset_var); // outputs NULL
5

Nếu ai đó đã sử dụng doWombat("Peter"), liệu họ có đang cố cung cấp một giá trị cho $FirstName để sử dụng thay vì giá trị mặc định hay họ muốn giá trị mặc định trong đó và Peter là cho $LastName?

Bạn muốn học PHP 7?

Hacking with PHP đã được cập nhật đầy đủ cho PHP 7 và hiện có sẵn dưới dạng PDF có thể tải xuống. Nhận hơn 1200 trang học PHP thực hành ngay hôm nay

Nếu điều này hữu ích, vui lòng dành chút thời gian để nói với những người khác về Hacking với PHP bằng cách tweet về nó

Cả hai sẽ phát sinh lỗi do chỉ mục không xác định (cả hai lần đầu tiên cố gắng lấy giá trị tại chỉ mục trước) nếu chỉ mục không được đặt. Đây là một điều nhỏ, nhưng ngay cả khi bạn đã tắt báo cáo lỗi VÀ ghi nhật ký, thì lỗi vẫn được nêu ra, được tạo và lan truyền qua ngăn xếp trước khi nó được kiểm tra xem có chỗ nào để báo cáo lỗi không. Và do đó, chỉ cần làm điều gì đó CÓ THỂ gây ra lỗi, sẽ gây ra hiệu suất

Hãy ghi nhớ điều này vì điều này áp dụng cho tất cả các Loại lỗi (Thông báo, Cảnh báo, v.v.) và trong các ứng dụng lớn có thể là một vấn đề lớn. Để tránh điều này, bạn phải sử dụng một hàm không gây ra lỗi khi thiếu chỉ mục, chẳng hạn như

echo($unset_bool ? "true\n" : "false\n"); // outputs 'false' 
2 hoặc
echo($unset_bool ? "true\n" : "false\n"); // outputs 'false' 
3 và không sử dụng dạng bậc ba rút gọn

Hãy thử một chức năng như

var_dump($unset_var); // outputs NULL
6

Điều này không gây ra lỗi và sẽ tạo đường dẫn nếu nó không tồn tại. Nó cũng có lợi từ việc hợp nhất logic để đặt giá trị mặc định ở một nơi, thay vì ____24 ở mọi nơi

Như đã đề cập ở nơi khác, tùy chọn khác là

var_dump($unset_var); // outputs NULL
7

Cái nào cũng tốt và có lẽ hiệu quả hơn

Tuy nhiên, tất cả những gì đã nói, lý tưởng nhất là điều này chỉ nên được xử lý trong dịch vụ tiêu dùng. Nếu giá trị trống, thì người tiêu dùng (dù là chế độ xem hay ứng dụng khách khác [như javascript]) sẽ được phép tự đưa ra lựa chọn này. Trên thực tế, dữ liệu ngữ nghĩa trống cho mô hình. Cách xử lý điều này tùy thuộc vào người tiêu dùng, nghĩa là, nếu điều này chuyển sang mẫu/chế độ xem, thì điều kiện phải được xử lý trong khi hiển thị. Nếu nó được gửi dưới dạng JSON, khách hàng sẽ có thể đưa ra lựa chọn

Bạn đang hỏi về phong cách, đó có lẽ là điều quan trọng nhất. Phong cách tốt nhất là, nếu bạn đang cung cấp dữ liệu cho khách hàng, đừng giả mạo nó (nhưng hãy ghi lại phản hồi trống có thể có)

Làm cách nào để đặt giá trị mặc định trong PHP?

PHP cho phép bạn xác định các giá trị đối số mặc định kiểu C++. Trong trường hợp như vậy, nếu bạn không chuyển bất kỳ giá trị nào cho hàm, nó sẽ sử dụng giá trị đối số mặc định. .
chức năng sayXin chào($name="Ram"){
echo "Hello $name
";.
sayXin chào ("Sonoo");
sayHello();//không truyền giá trị
sayXin chào("Vimal");

Làm cách nào chúng ta có thể đặt giá trị mặc định cho biến?

Bạn có thể đặt giá trị mặc định cho các biến bằng cách thêm. cờ mặc định ở cuối giá trị biến . Nó sẽ không gán lại giá trị, nếu nó đã được gán cho biến.

Làm cách nào để đặt giá trị null trong PHP?

Trong PHP, một biến không có giá trị được gọi là kiểu dữ liệu null. Một biến như vậy có một giá trị được xác định là NULL. Một biến có thể được gán rõ ràng NULL hoặc giá trị của nó được đặt thành null bằng cách sử dụng hàm unset() .

Giá trị mặc định của bất kỳ biến là gì?

Các biến cục bộ không có bất kỳ giá trị mặc định nào trong Java. Điều này có nghĩa là chúng có thể được khai báo và gán giá trị trước khi các biến được sử dụng lần đầu tiên, nếu không, trình biên dịch sẽ báo lỗi