Hướng dẫn what is implicit casting and explicit casting in php? - ép kiểu ngầm định và ép kiểu tường minh trong php là gì?

Ý nghĩa của "đúc" là lấy một biến của một loại dữ liệu cụ thể và chuyển đổi nó sang kiểu dữ liệu khác. (Ví dụ: Số nguyên để nổi)

Như chúng ta đã thảo luận trong chương biến, trong PHP, chúng ta không cần chỉ định loại dữ liệu của biến khi chúng ta khai báo. Php trình phân tích cú pháp tự động đặt nó cho chúng tôi. Nhưng, loại dữ liệu của biến có thể được chuyển đổi thành một loại khác một cách tự động hoặc thủ công. Đây được gọi là loại đúc.Type Casting.

Có hai loại đúc

  • Đúc ngầm (tự động)
  • Đúc rõ ràng (Hướng dẫn)

Đúc ngầm

Đúc ẩn là một cái gì đó được thực hiện bởi PHP theo mã của bạn, nhưng bạn không có khả năng tùy chỉnh. Khi chia một số nguyên cho một số nguyên khác, kết quả có thể là số nguyên hoặc nổi. Quyết định được đưa ra bởi PHP. Xem ví dụ dưới đây.

Ví dụ đúc ẩn php


Chạy ví dụ ›

Đúc rõ ràng

Chúng ta có thể sử dụng rõ ràng một biến cho các loại dữ liệu khác nhau. Chẳng hạn, chúng ta có thể chuyển đổi một chiếc phao thành một số nguyên như sau. (Phần thập phân sẽ bị loại bỏ)

Php casting rõ ràng - Float to Integer


Chạy ví dụ ›

Đúc rõ ràng

Chúng ta có thể sử dụng rõ ràng một biến cho các loại dữ liệu khác nhau. Chẳng hạn, chúng ta có thể chuyển đổi một chiếc phao thành một số nguyên như sau. (Phần thập phân sẽ bị loại bỏ)

Php casting rõ ràng - Float to Integer Kiểu dữ liệu bạn cần thay đổi biến thành nên được viết bên trong ngoặc đơn, trước biến.
Các diễn viên sau đây được cho phép:Dàn diễn viên
Sự mô tả(int) hoặc (số nguyên)
Đúc vào một số nguyên.(float) hoặc (gấp đôi) hoặc (thực)
Đúc vào một chiếc phao.(bool) hoặc (boolean)
Đúc cho một boolean.(sợi dây)
Đúc vào một chuỗi.(mảng)

Đúc vào một mảng.

(sự vật)

Đúc vào một đối tượng.

Ví dụ đúc rõ ràng

Php casting rõ ràng - Float to Integer


Chạy ví dụ ›

Đúc rõ ràng

Chúng ta có thể sử dụng rõ ràng một biến cho các loại dữ liệu khác nhau. Chẳng hạn, chúng ta có thể chuyển đổi một chiếc phao thành một số nguyên như sau. (Phần thập phân sẽ bị loại bỏ)


Chạy ví dụ ›

Đúc rõ ràng

Chúng ta có thể sử dụng rõ ràng một biến cho các loại dữ liệu khác nhau. Chẳng hạn, chúng ta có thể chuyển đổi một chiếc phao thành một số nguyên như sau. (Phần thập phân sẽ bị loại bỏ)


Chạy ví dụ ›

Đúc rõ ràng

Chúng ta có thể sử dụng rõ ràng một biến cho các loại dữ liệu khác nhau. Chẳng hạn, chúng ta có thể chuyển đổi một chiếc phao thành một số nguyên như sau. (Phần thập phân sẽ bị loại bỏ)

Php casting rõ ràng - Float to Integer

Kiểu dữ liệu bạn cần thay đổi biến thành nên được viết bên trong ngoặc đơn, trước biến.


Chạy ví dụ ›

Đúc rõ ràng

Chúng ta có thể sử dụng rõ ràng một biến cho các loại dữ liệu khác nhau. Chẳng hạn, chúng ta có thể chuyển đổi một chiếc phao thành một số nguyên như sau. (Phần thập phân sẽ bị loại bỏ)

Php casting rõ ràng - Float to Integer


Chạy ví dụ ›

Đúc rõ ràng

Chúng ta có thể sử dụng rõ ràng một biến cho các loại dữ liệu khác nhau. Chẳng hạn, chúng ta có thể chuyển đổi một chiếc phao thành một số nguyên như sau. (Phần thập phân sẽ bị loại bỏ)

Php casting rõ ràng - Float to Integer


Chạy ví dụ ›

Hướng dẫn what is implicit casting and explicit casting in php? - ép kiểu ngầm định và ép kiểu tường minh trong php là gì?

Php diễn viên ẩn là rất phổ biến. Nhưng trước khi chúng ta thấy nó có nghĩa là gì, hãy để xem tại sao đúc ngầm xảy ra.

Một lần nữa, PHP thân thiện với bữa ăn tối. Ngoài ra, nó là một ngôn ngữ được đánh máy một cách lỏng lẻo. Nói cách khác, PHP cho phép chúng tôi khai báo một biến và chỉ cần sử dụng nó. Và, PHP xác định loại dữ liệu của biến tự động.

Lưu ý: PHP xác định loại dữ liệu của các biến tự động. Chúng tôi chỉ khai báo một biến và gán nó một giá trị. PHP xác định loại từ giá trị.

Hơn nữa, PHP liên tục và tự động chuyển đổi các loại từ cái này sang loại khác khi được coi là cần thiết. Chúng tôi gọi đây là đúc ngầm hoặc loại tung hứng.implicit casting or Type Juggling.

Okey, nhưng tại sao PHP là loại tung hứng?

Bởi vì nó luôn luôn cố gắng để có ý nghĩa của mã của chúng tôi. Chẳng hạn, nếu một hoạt động dẫn đến một số lớn hơn phạm vi số nguyên. PHP ngầm định nó vào một số điểm nổi. Mặt khác, chúng tôi có thể vô tình cắt ngắn và mất một số giá trị nếu đó là cho việc đúc ngầm này.

Tuy nhiên, có một số kịch bản trong đó việc tung hứng loại tự động PHP không rõ ràng. Dưới đây là một vài ví dụ:-

1. Phps đúc ngầm trong các hoạt động số học

Chẳng hạn, hãy xem mã đơn giản này. Dự kiến, hầu hết các ngôn ngữ lập trình có thể phàn nàn. Nhưng, PHP cố gắng hết sức. Hầu hết thời gian, các hoạt động liên quan đến một số và một chuỗi chứa một số tính toán cho một số khác.

$x = 3 + "10% discount";
echo $x;// We will get 13, a number. With some notice about format of our number.

Điều này đúng miễn là toán hạng đầu tiên là một số và toán hạng thứ hai là một chuỗi bắt đầu với một số. Chuỗi có thể được theo sau bởi bất kỳ ký tự. Nhưng, nếu nó bắt đầu với các số, PHP sẽ đưa nó vào số đó.

Do đó, PHP đã đưa toán hạng thứ hai trong đoạn trích trên thành 10. là một số nguyên. Do đó, kết quả của hoạt động trở thành 13.

Tương tự, đoạn trích sau đây cũng sẽ dẫn đến 13.

$x = 3 + "10 items";
echo $x;

Tại sao? Bởi vì PHP ngầm định diễn viên ____15into 10, số.

Tuy nhiên, quy tắc này bị đảo lộn. Đặc biệt, khi chúng ta có một chuỗi bắt đầu với các ký tự theo sau là một số dưới dạng toán hạng thứ hai. Trong tình huống này, PHP ngầm ném toán hạng thứ hai vào một null.


0

Tóm lại, việc giải thích PHP của một chuỗi trong các hoạt động số học với một số là một trong những điều sau đây:-

  1. Như một số khác. Miễn là chuỗi bắt đầu với một số.. As long as the string starts with a number.
  2. Hoặc như null. Nếu chuỗi bắt đầu bằng một ký tự.. If the string starts with a character.

Thêm vào đó, trong bất kỳ trường hợp nào ở trên, nếu số là điểm nổi, PHP đã sử dụng toán hạng khác và kết quả là một số điểm nổi. Ví dụ:-


1

Ngoài ra, chúng tôi không phải lo lắng về việc cắt giảm giá trị số khi chúng tôi chia số nguyên. Không giống như các ngôn ngữ khác, PHP chuyển giá trị phân chia thành các số điểm nổi và bảo tồn giá trị.


2

Một lần nữa, PHP đang ngầm chuyển đổi loại thành số điểm nổi.

Php diễn viên ngầm trong các nhà khai thác so sánh

Tương tự như các hoạt động số học, PHP thực hiện một số đúc trong các hoạt động so sánh. Ví dụ:-


3

Như bạn có thể thấy, PHP hoàn toàn đúc được chơi đầy đủ trong quá trình so sánh bình đẳng. Do đó, người vận hành coi $ A là một số nguyên để so sánh với $ b.

Ngay cả khi hai toán hạng là các chuỗi chỉ có một số trong đó, các hoạt động đã chọn và so sánh chúng dưới dạng số. Tuy nhiên, nếu một trong số chúng là một chuỗi không hoàn toàn là số, hoạt động sẽ so sánh chúng về mặt từ vựng.

Lưu ý: Có một toán tử so sánh cũng kiểm tra loại và nó được gọi là toán tử nhận dạng (===). Chúng ta có thể sử dụng toán tử nhận dạng để so sánh giá trị một cách an toàn và tránh đúc.identity operator (===). We can use the identity operator to safely compare value and avoid casting.

Nhập tung hứng trong quá trình nối

Đầu tiên, hãy để xác định ý nghĩa của sự kết hợp. Toán tử Concatenation (.) Lối nhỏ các toán hạng bên phải và bên trái lại với nhau và trả về một chuỗi mới. Nếu một trong hai hoặc tất cả các toán hạng của toán tử nối không có chuỗi, PHP sẽ ngầm định chúng thành một. Ví dụ:-


4

Sự kết luận

Cuối cùng, chỉ cần nhớ điều này. PHP cố gắng để có ý nghĩa của mã của chúng tôi. Trong quá trình, nó chuyển đổi một loại thành một loại khác. Chúng tôi gọi loại này là tung hứng hoặc đúc ngầm.

Nói tóm lại, loại tung hứng loại có thể là một nguồn gây nhầm lẫn chính. Nhưng chúng ta có thể tránh nó tuân theo các quy tắc đơn giản ở trên.

Cuối cùng, lưu ý rằng chúng ta có thể kiểm soát hoàn toàn việc đánh máy bằng cách chuyển đổi thủ công một loại sang loại khác. Chúng tôi gọi loại loại đúc này đánh máy rõ ràng. Các tài liệu PHP chính thức đi vào chi tiết về việc đánh máy rõ ràng.explicit typecasting. The official PHP documentation goes into detail regarding explicit typecasting.

Blog này là một phần của loạt PHP REEARN, nơi tôi đang viết blog mỗi tuần về một chủ đề PHP cơ bản. Hãy cho tôi biết nếu bạn thích nó.

Làm thế nào để đúc ngầm và rõ ràng khác nhau?

Đúc ẩn không yêu cầu một toán tử đúc. Đúc loại rõ ràng được thực hiện bởi các lập trình viên. Trong kiểu casting này, lập trình viên nói với trình biên dịch loại chọn một kiểu dữ liệu sang kiểu dữ liệu khác bằng toán tử đúc loại.

Đúc loại ẩn giải thích với ví dụ là gì?

Trong việc đánh máy ngầm, chuyển đổi liên quan đến một loại dữ liệu nhỏ hơn với kích thước loại lớn hơn.Ví dụ, kiểu dữ liệu byte hoàn toàn đánh máy thành ngắn, char, int, long, float và gấp đôi.Quá trình chuyển đổi loại dữ liệu thấp hơn thành loại dữ liệu cao hơn được gọi là mở rộng.the conversion involves a smaller data type to the larger type size. For example, the byte datatype implicitly typecast into short, char, int, long, float, and double. The process of converting the lower data type to that of a higher data type is referred to as Widening.

Các loại diễn viên khác nhau trong PHP là gì?

Loại đúc ¶..
(int) - diễn viên vào int ..
(bool) - diễn viên đến bool ..
(float) - đúc để nổi ..
(chuỗi) - đúc thành chuỗi ..
(mảng) - đúc đến mảng ..
(đối tượng) - đúc đến đối tượng ..
(unset) - đúc để null ..

Loại dữ liệu tiềm ẩn và rõ ràng là gì trong Java là gì?

Việc đúc loại ẩn được thực hiện trong nội bộ bởi trình biên dịch Java trong khi, việc đúc loại rõ ràng được thực hiện bởi người lập trình viên.Trình biên dịch Java không thực hiện nó tự động.2. Trong quá trình đúc rõ ràng, toán tử đúc là cần thiết trong khi không cần bất kỳ nhu cầu vận hành nào trong trường hợp đúc loại ngầm.. Java compiler does not perform it automatically. 2. In explicit casting, cast operator is needed whereas, no need for any operator needs in the case of implicit type casting.