Nhân đôi trong PHP là gì?
$var (đơn đô la) là một biến thông thường có tên var lưu trữ bất kỳ giá trị nào như chuỗi, số nguyên, float, v.v. Show
Để hiểu rõ hơn về sự khác biệt, hãy xem một số ví dụ ví dụ 1đầu ra Trong ví dụ trên, chúng ta đã gán giá trị cho tên biến Cat. Giá trị của biến tham chiếu ${$name} được gán là Dog và ${${$name}} là Monkey Làm việc với các con số trong PHP có vẻ là một khái niệm tầm thường, nhưng nó có thể khá khó hiểu. Thoạt nhìn có vẻ dễ dàng vì PHP cung cấp chuyển đổi kiểu tự động. Ví dụ: bạn có thể gán một giá trị nguyên cho một biến và kiểu của biến đó sẽ là một số nguyên. Trên dòng tiếp theo, bạn có thể gán một chuỗi cho cùng một biến và loại sẽ thay đổi thành một chuỗi. Thật không may, chuyển đổi tự động này đôi khi có thể phá vỡ mã của bạn Có rất nhiều loại cho các giá trị số. Trong hướng dẫn này, bạn sẽ tìm hiểu về số nguyên và số float trong PHP, cũng như các hàm có thể được sử dụng để xác định loại số mà chúng ta đang xử lý và chuyển đổi giữa chúng. Bạn cũng sẽ học cách chuyển đổi số nguyên và số float sang và từ các chuỗi số Các loại số khác nhau trong PHPsố nguyênLoại số cơ bản nhất trong PHP là số nguyên. Như bạn có thể đã biết, số nguyên là số không có phần thập phân. Ví dụ: 2 là một số nguyên và 235298 hoặc -235298 cũng vậy. Mặt khác, 2. 0 và 3. 58 là phao. Chúng ta sẽ thảo luận chi tiết hơn sau Một điều quan trọng cần nhớ là một số không nhất thiết phải thuộc loại ____095 nếu nó không có phần thập phân. Ví dụ:
96 chính xác là
97, nhưng loại kết quả này vẫn sẽ là
98. Khi bạn nhân các số, kết quả cuối cùng sẽ là kiểu float nếu ít nhất một trong các toán hạng là số float. Số cuối cùng có phần thập phân hay không không quan trọngNgoài ra, giá trị tối đa mà một số nguyên có thể có trong PHP trên hệ thống của bạn có thể được lấy bằng cách sử dụng hằng số
99. Giá trị có độ lớn lớn hơn giá trị được trả về bởi
99 sẽ được lưu trữ dưới dạng số thực ngay cả khi giá trị đó trông giống số nguyênNói chung, bạn sẽ mong đợi kết quả của phép nhân hai biến loại
95 là loại
95. Tuy nhiên, nó không đúng trong trường hợp tràn. Phép nhân năm hoặc sáu số khác nhau có thể dễ dàng đưa bạn ra ngoài giới hạn của loại
95. Ví dụ: kết quả của 204 là số float trên hệ thống của tôi vì nó vượt quá giá trị của
99, tức là 206 Bạn có thể sử dụng hàm 207 để kiểm tra xem một số có thuộc loại số nguyên hay không. Có hai bí danh của hàm này, được gọi là 208 và 209. Cả hai sẽ cho cùng một kết quả phao nổiLoại số phổ biến tiếp theo mà bạn sẽ xử lý là số float. Không giống như số nguyên, trong hầu hết các trường hợp chỉ đơn giản là số không có dấu thập phân, một số loại
98 có thể được biểu diễn theo nhiều cách khác nhau. Các giá trị ________ 911, ________ 912, ________ 913 và ________ 914 đều là số floatPHP sẽ tự động chuyển đổi một số thành loại
98 bất cứ khi nào có số thập phân hoặc số rất lớn. Loại
98 thường có thể lưu trữ các số có độ lớn xấp xỉ bằng 217. Tuy nhiên, điều này phụ thuộc vào nền tảng Giá trị 217 có vẻ như là một giá trị rất lớn—và đó là. —nhưng số float có độ chính xác tối đa chỉ khoảng 14 chữ số. Bất kỳ số nào có nhiều chữ số hơn sẽ mất độ chính xác. Điều đó có nghĩa là bạn có thể lưu trữ một số rất lớn, nhưng bạn sẽ không thể giữ thông tin về giá trị chính xác của nó—trong nhiều trường hợp, số float chỉ là giá trị gần đúng Có hai hàm có thể được sử dụng để xác định xem giá trị bạn đang xử lý có phải là số float hay không. Các hàm này là 219 và 220. Trên thực tế, 220 chỉ là bí danh của 219, vì vậy bạn có thể sử dụng bất kỳ bí danh nào trong số đó và nhận được kết quả tương tự Vô cực và NaNCó hai loại giá trị số nữa mà bạn có thể phải xử lý khi viết các chương trình liên quan đến toán học. Các giá trị này là vô cùng và 223 (không phải số). Cả hai giá trị này đều cần một chút giải thích vì chúng khác với những gì bạn có thể mong đợi Vô cực trong PHP khác với vô cực ngoài đời thực. Trong PHP, bất kỳ giá trị số nào trên khoảng ____924 trên một nền tảng được coi là vô hạn. Vì vậy, 225 sẽ cung cấp cho bạn 226 trên 227. Bạn có thể kiểm tra xem một giá trị số là hữu hạn hay vô hạn bằng cách sử dụng hàm 228 và 229 Tương tự, 223 là viết tắt của Không phải một Số, nhưng nó không kiểm tra xem một giá trị có phải là số hay không. Giá trị 223 được sử dụng cho kết quả của các phép toán không thể thực hiện được trong toán học. Ví dụ: 232 sẽ là 223. Tương tự, 234 cũng sẽ là 223. Bạn có thể kiểm tra xem giá trị được trả về bởi một phép toán không phải là một số hay không bằng cách sử dụng hàm 236 Chuỗi số trong PHPGiống như PHP tự động thay đổi loại số khác nhau dựa trên cách giá trị của chúng được sử dụng hoặc gán, nó cũng có thể suy ra giá trị của các chuỗi số khác nhau để bạn chuyển đổi chúng thành số Hàm 237 có thể giúp bạn xác định xem một chuỗi hoặc biến có thực sự là số hay không. Hàm này sẽ trả về 238 cho các số được viết bằng ký hiệu bát phân, nhị phân hoặc thập lục phân. Nó cũng sẽ trả về 238 nếu các số được viết theo ký hiệu số mũ như 240 Bắt đầu từ PHP 7. 0. 0, khi bạn chuyển một chuỗi tới 237, nó chỉ trả về 238 nếu chuỗi bao gồm một dấu tùy chọn, một số chữ số, một số thập phân tùy chọn và một phần số mũ tùy chọn. Điều này có nghĩa là một chuỗi số được viết ở định dạng thập lục phân hoặc nhị phân sẽ trả về 243 từ PHP 7. 0. 0 trở đi PHP sẽ truyền ngầm bất kỳ chuỗi số hợp lệ nào thành một số khi có nhu cầu. Các ví dụ sau đây sẽ giúp bạn hiểu rõ hơn về quy trình này
9
2
2
3
4
5
6
7
8
0
1
2
5
4
7
6
7
8
9
521
723 24 25 26 27 28
7
20
21
22
23
24
25
7
27
28
29
30
31
32
7
34
35
36
37
38
39
7
41
42
43
44
45
46
7
48
49
50
51
52
53
7
55
56
57
58
59
60
7
62
63
64Như bạn có thể thấy, tất cả các chuỗi số hợp lệ đã được chuyển đổi thành các giá trị tương ứng trước khi thực hiện phép cộng hoặc các phép toán khác. Loại 244 cuối cùng phụ thuộc vào giá trị cuối cùng của nó Trong trường hợp cuối cùng, chuỗi thập lục phân 245 không được chuyển đổi thành giá trị thập phân vì PHP 7 không coi đó là một chuỗi số hợp lệ Truyền chuỗi và số float thành số nguyênThỉnh thoảng, bạn sẽ cần truyền một loại giá trị số này sang một loại giá trị khác. PHP có nhiều chức năng và kỹ thuật để làm như vậy. Hầu hết thời gian, việc chuyển đổi sẽ diễn ra ngầm định và bạn sẽ không phải lo lắng về điều đó. Tuy nhiên, nếu bạn phải thực hiện chuyển đổi một cách rõ ràng, các kỹ thuật được đề cập ở đây chắc chắn sẽ hữu ích Bạn có thể sử dụng 246 hoặc 247 để chuyển đổi bất kỳ giá trị nào thành số nguyên. Trong trường hợp số float, các giá trị sẽ luôn được làm tròn về 0. Một cách khác để chuyển chuỗi và số thực sang số nguyên là sử dụng hàm 248 . Cả 246 và 248 đều hoạt động theo cùng một cách
9
2
2
69
4
71
6
73
8
75
0
2
78
4
80
6
82
7
75
921
8723
8924
0126
7528
05
20
75
21
23
25
27
12
28
14
30
16
32
75
34
64Bạn nên lưu ý rằng việc truyền chuỗi tràn thành số nguyên sẽ đặt giá trị cuối cùng thành giá trị số nguyên tối đa cho phép. Tuy nhiên, việc truyền một số float có giá trị lớn hơn giá trị số nguyên tối đa cho phép sẽ dẫn đến giá trị dao động giữa 251 và 206 Trong một số tình huống nhất định, bạn có thể cần phải xử lý những con số rất lớn mà không làm mất đi độ chính xác. Ví dụ: không thể có được kết quả chính xác của phép nhân của 253 và 254 bằng toán tử 255 . Nó sẽ cung cấp cho bạn 256 sau khi chuyển đổi thả nổi. Tính toán câu trả lời thực tế, là 257, sẽ yêu cầu sử dụng các thư viện như BCMath. BCMath hoạt động bằng cách lưu trữ các số dưới dạng chuỗi và thực hiện các phép tính số học trên chúng theo cách thủ công. Chỉ cần nhớ rằng nếu bạn sử dụng BCMath, bạn sẽ xử lý các chuỗi thay vì số nguyên và số float Một số thư viện sẽ muốn bạn chỉ chuyển các số thuộc loại
95 vào các phương thức của họ, nhưng bạn có thể vô tình cung cấp cho chúng một giá trị float. Điều này có thể xảy ra vì giá trị có vẻ giống như một số nguyên vì nó không có phần thập phân. Điều này gần như chắc chắn sẽ dẫn đến lỗi nếu thư viện sử dụng hàm như 259 để kiểm tra xem số đã truyền có thuộc loại số nguyên hay không. Trong những trường hợp như vậy, trước tiên, bạn nên truyền số đó cho int bằng cách sử dụng 246 hoặc 248 rồi chuyển số đó cho bất kỳ hàm hoặc phương thức nào của thư viện Một ví dụ về tình huống như vậy có thể xảy ra khi bạn đang xử lý các hàm toán học như 262, 263, v.v. 262 và 263 sẽ luôn trả về một số thực, ngay cả khi bạn chuyển cho chúng một số nguyên
9
2
2
25
4
27_______56
29
8
0
32
2
34
4
7
6
7
64Một vấn đề với việc chuyển số float thành số nguyên là bạn sẽ mất phần thập phân của số. Điều này có thể hoặc có thể không được mong muốn. Trong những trường hợp như vậy, bạn có thể sử dụng các hàm như 262 và chỉ chuyển số sang kiểu int nếu giá trị thực của nó bằng với giá trị được trả về bởi 262
9
2
2
44
4
6
47
8
49
0
51
2
53
4
55
6
57
7
9
64Giả sử bạn có một thư viện cho phép bạn thực hiện phép tính phân số và thư viện này đưa ra các ngoại lệ khi bạn chuyển một số cho phương thức 268 không thuộc kiểu int của nó. Một loạt các thao tác có thể biến một số thành kiểu float ngay cả khi nó vẫn là một số nguyên trong giới hạn tối thiểu và tối đa của kiểu int. Sử dụng một cái gì đó giống như mã ở trên sẽ giúp bạn xử lý các trường hợp như vậy một cách dễ dàng Mẹo để làm việc với các con số trong PHPBản thân các con số có thể lớn vô hạn, nhưng máy tính của chúng ta có bộ nhớ máy tính hạn chế. Điều này có thể dẫn đến các vấn đề khi làm việc với các số trong ngôn ngữ lập trình Sự cố với số nguyên có kích thước cố địnhSố lớn nhất bạn có thể lưu trữ dưới dạng số nguyên tiêu chuẩn trên máy 64 bit là 9223372036854775807. Bất kỳ phép tính nào có kết quả lớn hơn không thể được thực hiện với các số nguyên đơn giản và yêu cầu các giải pháp khác. Điều này có nghĩa là bạn không nên sử dụng số nguyên thông thường khi có khả năng kết quả có thể vượt quá các giới hạn này. Một tùy chọn cho số lớn hơn là sử dụng số dấu phẩy động. Tuy nhiên, chúng có nhược điểm riêng. Các vấn đề với số dấu phẩy độngSố dấu phẩy động rất phổ biến cho các tính toán hàng ngày. Tuy nhiên, bất cứ điều gì bạn làm với các số dựa vào việc so sánh chúng với nhau đều có thể dẫn đến các vấn đề. Điều này là do các số dấu phẩy động có độ chính xác hạn chế, vì vậy việc so sánh giữa chúng không phải lúc nào cũng hoàn hảo. Không chỉ vậy, nhưng máy tính là hệ thống nhị phân và hệ thống số của chúng tôi là số thập phân. Việc chuyển đổi giữa chúng không phải lúc nào cũng chính xác. Ví dụ: 0. 1 không thể được biểu diễn chính xác dưới dạng nhị phân—tương tự như cách 1/3 không thể được biểu diễn chính xác trong một số chữ số thập phân cố định. Luôn luôn có một số mất độ chính xác. Đối với các ứng dụng như kết xuất đồ họa hoặc trò chơi, việc mất độ chính xác này không phải là vấn đề. Tuy nhiên, đối với các ứng dụng ngân hàng hoặc thương mại điện tử, nó có thể tạo ra các vấn đề lớn. Một cách để tránh lỗi này là chuyển đổi các số bạn đang làm việc thành số nguyên. Ví dụ: bất kỳ thứ gì có giá 12 đô la. 01 có thể được lưu trữ với các số nguyên bên trong là 1201 xu. Luôn cân nhắc sử dụng số nguyên thông thường thay vì dấu phẩy động khi cần độ chính xác Số chính xác không giới hạnCách tốt nhất để khắc phục những hạn chế được đề cập trong hai điểm trên là lưu trữ các số dưới dạng chuỗi. Một thư viện chính xác tùy ý như BCMath trong PHP có thể giúp bạn điều này. Nó đi kèm với nhiều chức năng hữu ích giúp bạn dễ dàng cộng, trừ, chia và nhân các số rất lớn mà không làm mất đi độ chính xác
9
2
2
65
4
67
6
8
65
0
72
2
4
75
6
77
7
9
8021
8223 24
8526
8728
20
90
21
92
23
64Như bạn có thể thấy, hàm 269 có thể đặt độ chính xác thành một giá trị tùy ý được xác định bởi tham số thứ ba Tất nhiên, chức năng này phải trả phí—sử dụng BCMath chậm hơn đáng kể so với các kiểu số tích hợp sẵn trong PHP. Tốt nhất là sử dụng các loại số tích hợp trừ khi bạn cần thêm độ chính xác và phạm vi. Suy nghĩ cuối cùngHướng dẫn này đã đề cập đến các cách khác nhau trong đó PHP lưu trữ số và cách bạn có thể xác định xem một số có thuộc loại cụ thể hay không. Ví dụ: bạn có thể sử dụng các hàm như 259 và 219 để xác định loại số và tiến hành tương ứng Như bạn đã thấy trong hướng dẫn, PHP hỗ trợ chuyển đổi kiểu tự động. Điều này có nghĩa là đôi khi các số nguyên nhỏ hơn như 272 hoặc 273 có thể đã được lưu trữ dưới dạng số thực mà bạn không nhận ra. Việc sử dụng các số này trong các hàm chỉ chấp nhận giá trị
95 có thể dẫn đến ngoại lệ hoặc lỗi. Chúng tôi đã biết rằng một giải pháp đơn giản cho vấn đề này là chuyển một cách rõ ràng các số đó thành
95 nếu chúng không có phần thập phân và giá trị của chúng không thay đổi khi truyềnSau khi đọc hướng dẫn này, bạn sẽ có thể xác định loại số hoặc loại kết quả cuối cùng sau khi sử dụng nhiều thao tác với các hàm được xác định trước và cũng có thể chuyển chúng thành một loại cụ thể sau khi thực hiện một số kiểm tra Như mọi khi, nếu bạn có bất kỳ câu hỏi hoặc mẹo bổ sung nào, bạn có thể nhận xét Học PHP với một khóa học trực tuyến miễn phíNếu bạn muốn học PHP, hãy xem khóa học trực tuyến miễn phí của chúng tôi về các nguyên tắc cơ bản của PHP Trong khóa học này, bạn sẽ học các nguyên tắc cơ bản của lập trình PHP. Bạn sẽ bắt đầu với những kiến thức cơ bản, học cách PHP hoạt động và viết các hàm và vòng lặp PHP đơn giản. Sau đó, bạn sẽ xây dựng các lớp mã hóa để lập trình hướng đối tượng đơn giản (OOP). Đồng thời, bạn sẽ học tất cả các kỹ năng quan trọng nhất để viết ứng dụng cho web. bạn sẽ có cơ hội thực hành phản hồi các yêu cầu GET và POST, phân tích cú pháp JSON, xác thực người dùng và sử dụng cơ sở dữ liệu MySQL Sự khác biệt giữa double và float trong PHP là gì?Không có sự khác biệt trong PHP . float , double hoặc real là cùng một kiểu dữ liệu. Ở cấp độ C, mọi thứ được lưu trữ dưới dạng gấp đôi. Kích thước thực vẫn phụ thuộc vào nền tảng.
$$$ nghĩa là gì trong PHP?Biến PHP $ và $$. $var (đơn đô la) là một biến thông thường có tên var lưu trữ bất kỳ giá trị nào như chuỗi, số nguyên, float, v.v. $$var (đô la kép) là biến tham chiếu lưu trữ giá trị của biến $bên trong nó .
Số loại kép là gì?Biến kiểu kép là kiểu dữ liệu động 64 bit
. Nó có thể chứa tổng cộng tối đa 15 chữ số, bao gồm cả những chữ số trước và sau dấu thập phân.
float là gì double là gì?A float có 7 chữ số thập phân chính xác và chiếm 32 bit. Số kép là số dấu phẩy động có độ chính xác kép 64 bit IEEE 754 . 1 bit cho dấu, 11 bit cho số mũ và 52 bit cho giá trị. Một double có 15 chữ số thập phân chính xác và chiếm tổng cộng 64 bit. |