Bạn có thể thay đổi loại biến trong php không?

Như chúng ta biết PHP không yêu cầu hoặc hỗ trợ định nghĩa kiểu rõ ràng trong khai báo biến. Tuy nhiên, bạn có thể buộc một biến được đánh giá là một loại nhất định bằng cách sử dụng kiểu truyền

Hãy thử ví dụ sau để hiểu cách thức hoạt động của nó

Bạn có thể sử dụng


2 hoặc

3 để chuyển một biến thành số nguyên, sử dụng

4,

5 hoặc

6 để chuyển một biến thành float. Tương tự, bạn có thể sử dụng

7 để truyền một biến thành chuỗi, v.v.

Ý nghĩa của "Truyền" là lấy một biến của một loại dữ liệu cụ thể và chuyển đổi nó thành một loại 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 kiểu dữ liệu của biến khi khai báo. Trình phân tích cú pháp PHP tự động đặt nó cho chúng tôi. Tuy nhiên, kiểu dữ liệu của biến có thể được chuyển đổi sang kiểu khác tự động hoặc thủ công. Điều này được gọi là đúc kiểu

Có hai loại đúc

Truyền ngầm

Truyền ngầm là điều do PHP thực hiện 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 số float. Quyết định được đưa ra bởi PHP. Xem ví dụ bên dưới

Ví dụ truyền ẩn PHP



8


9


0


1



2


3


4

CastDescription[int] hoặc [integer]Truyền thành một số nguyên. [float] hoặc [double] hoặc [real]Truyền thành float. [bool] hoặc [boolean]Truyền thành boolean. [chuỗi]Truyền thành một chuỗi. [mảng] Truyền tới một mảng. [đối tượng]Truyền tới một đối tượng

Chuyển đổi kiểu dữ liệu là quá trình thay đổi kiểu của biến từ kiểu dữ liệu này sang kiểu dữ liệu khác. PHP cung cấp nhiều kiểu dữ liệu khác nhau và việc chuyển đổi kiểu có thể được thực hiện theo nhiều phương thức khác nhau

Vì PHP là một ngôn ngữ gõ lỏng lẻo, nó cho phép khai báo biến mà không cần chỉ định kiểu dữ liệu của nó. Kiểu dữ liệu của một biến sẽ là kiểu của giá trị dữ liệu được khởi tạo cho nó

Vì vậy, chúng ta có thể thay đổi kiểu dữ liệu của biến PHP bằng cách thay đổi kiểu dữ liệu được khởi tạo. Mã ví dụ sau đây sẽ làm cho nó rõ ràng


PHP cũng hỗ trợ truyền kiểu rõ ràng như các ngôn ngữ lập trình khác. Truyền kiểu PHP tương tự như ngôn ngữ C. PHP cũng cung cấp hàm settype[] để chuyển đổi kiểu dữ liệu của một biến

Trong bài viết này, chúng ta sẽ xem các ví dụ chuyển đổi kiểu cho từng kiểu dữ liệu

PHP Typecasting cho các kiểu dữ liệu khác nhau

Đoạn mã ví dụ sau đây cho thấy cách thực hiện ép kiểu trong PHP để chuyển đổi một kiểu dữ liệu biến. Nó có một biến $count được khởi tạo với một giá trị nguyên

Sau khi khởi tạo, tôi thực hiện ép kiểu với nhiều kiểu dữ liệu khác nhau. Sau mỗi lần truyền kiểu, tôi đã chỉ định đầu ra và loại biến bằng cách sử dụng dòng chú thích PHP

true
 * }
 */
$count = [array] $count;

/*
 * $count is an object
 * Output;
 * [stdClass]#1 [1] {
 * [0]=>true
 * }
 */
$count = [object] $count;
?>

Các hàm PHP để chuyển đổi kiểu dữ liệu

PHP cung cấp các hàm kiểu dữ liệu để lấy hoặc đặt kiểu dữ liệu của một biến hoặc để kiểm tra xem một biến có phải là một kiểu dữ liệu cụ thể hay không. Các hàm đó là gettype[], settype[], is_array[], is_null[] và hơn thế nữa

Đoạn mã sau sử dụng PHP settype[] để thay đổi kiểu dữ liệu của biến và sử dụng gettype[] và in kết quả để biết kiểu dữ liệu nếu biến chứa trước và sau khi chuyển đổi. Tôi đã khởi tạo biến đếm $ dưới dạng chuỗi chuyển đổi nó thành số nguyên bằng cách sử dụng PHP settype[]

Lý do là php. // đầu vào trả về tất cả dữ liệu thô sau tiêu đề HTTP của yêu cầu, bất kể loại nội dung

PHP superglobal $ _POST, chỉ được cho là bọc dữ liệu hoặc

  • ứng dụng/x-www-form-urlencoded [loại nội dung tiêu chuẩn cho các bài đăng biểu mẫu đơn giản] hoặc
  • multipart/form-data [hầu hết được sử dụng để tải lên tệp]

Điều này là do đây là những loại nội dung duy nhất phải được hỗ trợ bởi tác nhân người dùng. Vì vậy, theo truyền thống, máy chủ và PHP không mong đợi nhận được bất kỳ loại nội dung nào khác [điều đó không có nghĩa là chúng không thể]

Vì vậy, nếu bạn chỉ cần POST một biểu mẫu HTML cũ tốt, thì yêu cầu sẽ giống như thế này


0

Nhưng nếu bạn làm việc nhiều với Ajax, thì probaby này cũng bao gồm việc trao đổi dữ liệu phức tạp hơn với các kiểu [chuỗi, int, bool] và cấu trúc [mảng, đối tượng], vì vậy, trong hầu hết các trường hợp, JSON là lựa chọn tốt nhất. Nhưng một yêu cầu với tải trọng JSON sẽ trông giống như thế này


1

Nội dung bây giờ sẽ là ứng dụng/json [hoặc ít nhất là không có nội dung nào được đề cập ở trên], vì vậy trình bao bọc $_POST của PHP không biết cách xử lý nội dung đó [chưa]

Dữ liệu vẫn còn đó, bạn không thể truy cập nó thông qua trình bao bọc. Vì vậy, bạn cần tự tìm nạp nó ở định dạng thô với file_get_contents['php. //input'] [miễn là nó không được mã hóa nhiều phần/biểu mẫu dữ liệu]

Các biến PHP có phải là loại cố định không?

PHP là một ngôn ngữ được gõ lỏng lẻo . Vì các kiểu dữ liệu không được đặt theo nghĩa chặt chẽ, nên bạn có thể thực hiện những việc như thêm chuỗi vào số nguyên mà không gây ra lỗi.

PHP có các loại biến không?

Các biến có thể lưu trữ các loại dữ liệu khác nhau và các loại dữ liệu khác nhau có thể làm những việc khác nhau. PHP hỗ trợ các kiểu dữ liệu sau. Sợi dây. số nguyên.

Loại biến được xác định như thế nào trong PHP?

Hàm gettype[] trả về kiểu của một biến.

Thao tác biến trong PHP là gì?

Các hàm sau hoạt động trên các biến PHP. Có các hàm để nhận và đặt loại biến, cũng như nhiều cách khác nhau để mã hóa và giải mã các biến để lưu trữ . bool định nghĩa [chuỗi var_name, giá trị hỗn hợp [, int nhạy cảm với trường hợp]] Xác định một giá trị không đổi.

Chủ Đề