1. Tốc độ, vận tốc. Có một sự khác biệt giữa hai loại này, nhưng về tốc độ, nó không liên quan đến việc bạn sử dụng loại nào. echo nhanh hơn một chút vì nó không đặt giá trị trả về nếu bạn thực sự muốn đi sâu vào vấn đề Show 2. Sự biểu lộ. print() hoạt động giống như một chức năng mà bạn có thể làm. $ret = in "Xin chào thế giới"; . Điều đó có nghĩa là bản in có thể được sử dụng như một phần của biểu thức phức tạp hơn mà tiếng vang không thể. Một ví dụ từ Cẩm nang PHP $b ? print "true" : print "false"; print cũng là một phần của bảng ưu tiên mà nó cần phải có nếu nó được sử dụng trong một biểu thức phức tạp. Mặc dù nó chỉ nằm ở cuối danh sách ưu tiên. Chỉ , AND OR XOR thấp hơn 3. Thông số). ngữ pháp là. biểu thức tiếng vang [, biểu thức [, biểu thức]. ] Nhưng echo ( biểu thức, biểu thức ) không hợp lệ. Điều này sẽ hợp lệ. echo ("chào bạn"),("đối tác"); . lặp lại "xin chào","đối tác"; . ) PHP là ngôn ngữ lập trình do Rasmus Lerdorf tạo ra vào năm 1994 với mục đích chính là xây dựng trang web. Ngay bây giờ, chúng tôi có thể nói rằng đó là ngôn ngữ kịch bản phía máy chủ có mục đích chung vẫn được hỗ trợ nhiều Trong PHP, không phải lúc nào chúng ta cũng nhận được các giá trị mong đợi từ các biến. Bởi vì trong các tình huống phát triển phần mềm thực tế, nhà phát triển có thể
Vì những loại kịch bản này trong quá trình phát triển phần mềm, với tư cách là nhà phát triển, chúng ta cần cẩn thận hơn trong khi viết mã xung quanh. Chúng ta cần nắm lấy phương pháp lập trình phòng thủ, nghĩa là viết mã theo cách chuẩn bị để xử lý các tình huống bất ngờ và luôn thận trọng Trong trường hợp của chúng tôi, điều đó có nghĩa là khi làm việc với các biến, chúng tôi luôn mong đợi các giá trị của biến là không mong muốn hoặc không mong muốn và chúng tôi nên viết mã bằng cách xem xét điều đó. Đây phải là một trong những cách tiếp cận an toàn nhất để mã hóa Cộng đồng PHP đã đề cập đến các loại tình huống này với rất nhiều giải pháp khác nhau và trong bài viết này, chúng tôi sẽ đề cập đến các giải pháp này với các chủ đề sau đây
Có một vài ví dụ về tác dụng phụ của việc sử dụng các biến không được kiểm tra cảnh 1. Sử dụng một biến không được khai báo echo $undeclaredVariable; đầu ra PHP Notice: Undefined variable: undeclaredVariable kịch bản 2. Sử dụng một giá trị biến không mong muốn $emptyUserLastname = ""; đầu ra Hi Mr. kịch bản 3. Sử dụng phản hồi cuộc gọi dịch vụ tự phụ function getUserUnsuccessful() { đầu ra PHP Notice: Undefined index: LASTNAME Tình huống 4. Sử dụng biến GLOBAL không được kiểm tra echo $_COOKIE["USER_ID"]; đầu ra ________số 8Trong các tình huống này, bạn có thể thấy một số thông báo PHP và một số hành vi không mong muốn. Tất nhiên, trong những tình huống như vậy, mã của bạn sẽ không bị lỗi hoặc chấm dứt nhưng sau đó do việc sử dụng biến không được kiểm tra này, bạn có thể gặp phải hành vi không mong muốn của thuật toán, còn có tên gọi khác là lỗi 2. Cách kiểm tra biến trong PHP bằng hàm có sẵnMay mắn là PHP có rất nhiều hàm tích hợp để kiểm tra các biến. Nhưng chúng ta không thể sử dụng chúng mà không biết hành vi chính xác của chúng. Bởi vì nó có thể khiến chúng ta đối mặt với hành vi không mong muốn của thuật toán. Để tránh nó trước tiên, chúng ta cần biết những chức năng nào chúng ta có thể sử dụng và hành vi chính xác của chúng là gì Điều tôi thích nhất ở PHP là bạn không cần bất kỳ thư viện bên thứ ba nào để giải quyết các loại tình huống này, bởi vì cộng đồng PHP đã đề cập đến rất nhiều chủ đề khác nhau với các chức năng tích hợp sẵn. Vì vậy, bạn không cần phải phát minh lại bánh xe Phần yêu thích thứ hai về PHP là hầu hết mọi hàm tích hợp đều có thể đọc được, nghĩa là bạn có thể hiểu mục đích và hành vi của chúng chỉ bằng cách đọc tên hàm
Trong PHP có 2 hàm thường dùng để kiểm tra biến là isset() và empty(). Bây giờ, hãy xem các hàm tích hợp này để kiểm tra các biến và hành vi chính xác của chúng 3. Các hành vi của các chức năng tích hợp này ()Vì có thể hiểu từ tên hàm, nó kiểm tra xem tham số đã cho có được đặt thành bất kỳ giá trị nào hay không. Vì vậy, nó chấp nhận một biến làm tham số và kiểm tra tham số đã cho vì nó
Nếu biến có đầy đủ các điều kiện này, hàm isset() sẽ trả về giá trị TRUE. Nếu không, nó sẽ trả về FALSE Dưới đây là một số ví dụ để sử dụng hàm isset() var_dump(isset($undeclaredVariable)); // prints bool(false) PHP chấp nhận giá trị của nó là NULL cho các biến không được khai báo và chưa được gán. Như bạn có thể thấy rằng ngoài các giá trị không được khai báo, chưa được gán và NULL, hàm isset() trả về TRUE. Hàm case isset() rất hữu ích khi chúng ta muốn đảm bảo biến có được khai báo, gán NULL hay không trống rỗng()Chúng ta có thể hiểu sai mục đích của hàm từ tên hàm. Có vẻ như nó làm cho tham số đã cho trống nhưng thực ra nó chỉ kiểm tra xem tham số đã cho có trống hay không. Tôi có thể nghe thấy những phản đối như isEmpty() có thể là một cái tên hay hơn cho chức năng này Nhưng một lần nữa, đó là vấn đề của thời xưa và vì di sản (không phải là thứ thiêng liêng, thứ hỗ trợ khả năng tương thích ngược của các phiên bản PHP mới và khuyến khích người dùng phiên bản cũ cập nhật phiên bản PHP của họ), nó vẫn như vậy Nói tóm lại, hàm empty() chấp nhận một tham số để kiểm tra biến đã cho có rỗng hay không. Khi chúng ta xem xét hành vi của nó, nó hoạt động giống như hàm isset() cộng với việc kiểm tra khoảng trống giá trị biến có nghĩa là nếu tham số đã cho bằng
Ngoài ra, hàm này có trường hợp cạnh cũng giả sử một chuỗi có “0”, “0. 0”, “0. 00. ký tự cũng trống Trong các trường hợp trên, nó trả về TRUE vì hàm rỗng chấp nhận các giá trị này là rỗng Nhưng tại sao?Bởi vì hàm void() biến rỗng có nghĩa là kiểm tra giá trị biến theo đẳng thức boolean. Vì vậy, PHP quyết định xem đẳng thức boolean của giá trị biến đã cho là đúng hay sai Chúng ta có thể thấy đẳng thức boolean của các giá trị với hàm boolval() trả về giá trị boolean của một tham số đã cho từ https. //www. php. net/thủ công/vi/chức năng. boolval. php. Vì vậy, trong PHP
Giá trị đẳng thức boolean là FALSE. Dựa vào đó nếu chúng ta tính tổng hàm empty() echo $undeclaredVariable; 0Chúng ta có thể dễ dàng hiểu hành vi của hàm empty() bằng công thức này. Có thể nói hàm empty() là hàm kiểm tra biến rộng hơn hàm isset(). Vì vậy, chúng ta không cần sử dụng đồng thời các hàm isset() và empty() trong cùng một trường hợp. Đó là tất cả về việc quyết định giá trị rỗng của biến có làm phiền chúng ta hay không. Cuối cùng, chúng ta nên sử dụng ít nhất một trong số chúng để xử lý các biến trong PHP Dưới đây là một số ví dụ để sử dụng chức năng trống() PHP Notice: Undefined variable: undeclaredVariable 0Vì vậy, bây giờ chúng ta biết rằng chúng ta có thể sử dụng các hàm isset() và empty() để kiểm tra các biến. Khi chúng tôi triển khai chúng cho các tình huống ví dụ của chúng tôi như cảnh 1. Sử dụng một biến không được khai báo PHP Notice: Undefined variable: undeclaredVariable 1đầu ra PHP Notice: Undefined variable: undeclaredVariable 2kịch bản 2. Sử dụng một giá trị biến không mong muốn PHP Notice: Undefined variable: undeclaredVariable 3đầu ra PHP Notice: Undefined variable: undeclaredVariable 4kịch bản 3. Sử dụng phản hồi cuộc gọi dịch vụ tự phụ PHP Notice: Undefined variable: undeclaredVariable 5đầu ra PHP Notice: Undefined variable: undeclaredVariable 4Tình huống 4. Sử dụng biến GLOBAL không được kiểm tra PHP Notice: Undefined variable: undeclaredVariable 7đầu ra PHP Notice: Undefined variable: undeclaredVariable 8Đối với tất cả các tình huống mã được cập nhật, chúng tôi sẽ loại bỏ các thông báo Thông báo PHP. Đối với kịch bản 1 và 4, chúng tôi cảnh báo người dùng của mình, đối với kịch bản 2 và 3, chúng tôi tránh các hành vi thuật toán không mong muốn Trường hợp hàm empty() hữu ích để kiểm tra xem biến đã cho có được khai báo, gán và không có giá trị rỗng hay không. Nhưng chúng ta cần cẩn thận với các trường hợp cạnh như chuỗi “0”, “0. 0”, “0. 00”, số nguyên 0, số 0 kép. 00, nổi 0. 0 vân vân. Bởi vì trong các trường hợp cạnh này, thuật toán của chúng tôi có thể chấp nhận các giá trị này là không trống. Vì vậy, thuật toán của chúng tôi có thể hoạt động theo cách không mong muốn nếu chúng tôi coi loại tình huống này 4. Quyết định đúng chức năngMẹo để quyết định sử dụng hàm isset() hay empty() là
Không sử dụng đồng thời các hàm isset() và empty() để kiểm tra cùng một trường hợp. Nó sẽ là sự lặp lại mã không cần thiết Chỉ các hàm isset() và empty() là không đủ để áp dụng hoàn toàn cách tiếp cận phòng thủ. Chúng ta cần thêm các kiểm tra bổ sung với các hàm tích hợp PHP bổ sung như
Bài viết này không đề cập đến các hàm tích hợp PHP bổ sung này nhưng bạn có thể hiểu hành vi của chúng một cách dễ dàng chỉ bằng cách đọc chúng. Ngoài ra, bạn có thể kiểm tra hành vi chính xác của họ từ https. //www. php. net/manual/ bằng cách gõ tên chức năng trên hộp tìm kiếm. Chúng có thể thêm một biện pháp phòng ngừa bổ sung cho thuật toán của bạn nếu bạn sử dụng chúng cùng với hàm isset() hoặc empty() cảm ơn đã đọc bài viết này. Tôi hy vọng nó sẽ giúp bạn cách xử lý các biến trong PHP. Bạn nên luôn luôn sử dụng phương pháp phòng thủ trong lập trình. Đó là một thói quen rất có lợi, nó cũng sẽ giúp bạn trở thành một lập trình viên giỏi hơn trong tương lai. Làm cách nào để biết loại biến trong PHP?Hàm gettype() trả về loại biến.
Làm cách nào để kiểm tra loại đối tượng trong PHP?Hàm is_object() kiểm tra xem một biến có phải là đối tượng hay không. Hàm này trả về true (1) nếu biến là một đối tượng, ngược lại trả về false/nothing.
Làm cách nào để xem một giá trị biến trong PHP?Trong PHP có 2 hàm thường dùng để kiểm tra biến là isset() và empty() .
Làm cách nào để kiểm tra kiểu mảng trong PHP?Hàm is_array() kiểm tra xem một biến có phải là mảng hay không. Hàm này trả về true (1) nếu biến là một mảng, ngược lại trả về false/nothing. |