Biểu thức trong PHP là gì?

Trong lập trình, biểu thức là thứ trả về giá trị đầu ra có thể sử dụng được. Chúng ta đã biết rất nhiều về các biểu thức và nguyên tắc sáng tác của chúng. Các phép toán [cộng, trừ, v.v. ] và các thao tác chuỗi [nối] đều là các biểu thức

One feature of expressions is that they return a result that can be assigned to a variable or printed. For instance:

________0

But not any code can be an expression. The definition of a variable is a statement, it can't be part of an expression and it will lead to an error:

________0

Why is this important to know? You can combine expressions to get more and more complex behavior in the most unexpected places and the most surprising ways, as you will see. You will get a better understanding of how you can combine pieces of code to get the desired results.

Let's talk about functions. Is a function call an expression or not? We know that functions return results, which means that, yes, they are expressions. It leads to a lot of interesting possibilities. For example, we can call functions directly in math operations. This is how we can get the last character index in a word:

________0

This code has no new syntax. We've just combined what we already know. We could go even further:

________4

All of this holds for any function, e.g. string functions:

________5

Instructions

Print the first and last letters of the sentence stored in the variable text sử dụng định dạng này

First: N
Last: t

Cố gắng chỉ tạo một biến mà bạn muốn gán cho văn bản trước khi in. Trong bài học này, chúng ta đang thực hành xây dựng biểu thức ghép

Bài tập không vượt qua kiểm tra. phải làm gì?

Nếu bạn gặp bế tắc, đã đến lúc đặt câu hỏi của bạn trong «Thảo luận». Làm thế nào để đặt một câu hỏi một cách chính xác

  • Hãy chắc chắn đính kèm đầu ra thử nghiệm, nếu không có nó thì hầu như không thể tìm ra điều gì đã xảy ra, ngay cả khi bạn hiển thị mã của mình. Các nhà phát triển rất phức tạp khi thực thi mã trong đầu, nhưng có một sai lầm trước mắt họ có lẽ sẽ hữu ích nhất

Trong môi trường của tôi, mã hoạt động, nhưng không phải ở đây 🤨

Các bài kiểm tra được thiết kế để chúng kiểm tra giải pháp theo những cách khác nhau và dựa trên các dữ liệu khác nhau. Thường thì giải pháp hoạt động với một loại dữ liệu đầu vào nhưng không hoạt động với các loại dữ liệu khác. Kiểm tra tab «Kiểm tra» để tìm ra điều này, bạn có thể tìm thấy các gợi ý ở đầu ra lỗi

Mã của tôi khác với mã của giáo viên 🤔

Tốt rồi. 🙆 Một nhiệm vụ trong lập trình có thể được giải quyết theo nhiều cách khác nhau. Nếu mã của bạn vượt qua tất cả các bài kiểm tra, thì mã đó tuân thủ các điều kiện của tác vụ

Trong một số trường hợp hiếm hoi, giải pháp có thể được điều chỉnh để thử nghiệm, nhưng điều này có thể được nhìn thấy ngay lập tức

Tôi đã đọc các bài học nhưng không có gì rõ ràng 🙄

Thật khó để tạo ra những tài liệu giáo dục phù hợp với tất cả mọi người. Chúng tôi cố gắng hết sức nhưng luôn có điều gì đó cần cải thiện. Nếu bạn thấy một tài liệu không rõ ràng đối với bạn, hãy mô tả vấn đề trong “Thảo luận”. Sẽ thật tuyệt nếu bạn viết những điểm chưa rõ ràng trong mẫu câu hỏi. Thông thường, chúng tôi cần một vài ngày để sửa chữa

Nhân tiện, bạn có thể tham gia cải tiến các khóa học. Có một liên kết bên dưới đến mã khóa học bài học mà bạn có thể chỉnh sửa ngay trong trình duyệt của mình

Với những gì bạn đã học cho đến nay, bạn có thể gán dữ liệu cho các biến và thậm chí bạn có thể điều tra và thay đổi kiểu dữ liệu của một biến. Tuy nhiên, một ngôn ngữ lập trình không hữu ích lắm, trừ khi bạn có thể thao tác với dữ liệu bạn đã lưu trữ. Toán tử là các ký hiệu được sử dụng để thao tác dữ liệu được lưu trữ trong các biến, để có thể sử dụng một hoặc nhiều giá trị để tạo ra một giá trị mới hoặc để kiểm tra tính hợp lệ của dữ liệu nhằm xác định bước tiếp theo trong một điều kiện, v.v. Một giá trị được thao tác bởi một toán tử được gọi là toán hạng

Trong ví dụ đơn giản này, hai toán hạng được kết hợp với một toán tử để tạo ra một giá trị mới

[4 + 5]

Các số nguyên 4 và 5 là toán hạng. Toán tử cộng [+] hoạt động trên các toán hạng này để tạo ra số nguyên 9. Các toán tử hầu như luôn nằm giữa hai toán hạng, mặc dù bạn sẽ thấy một vài ngoại lệ ở phần sau của chương này

Tổ hợp toán hạng với một toán tử để cho ra kết quả được gọi là biểu thức. Mặc dù các toán tử và toán hạng của chúng tạo thành cơ sở của biểu thức, một biểu thức không nhất thiết phải chứa toán tử. Trên thực tế, một biểu thức trong PHP được định nghĩa là bất kỳ thứ gì có thể được sử dụng làm giá trị. Điều này bao gồm các hằng số nguyên như 654, các biến như $user và các lệnh gọi hàm như gettype[]. Ví dụ, biểu thức [4 + 5] bao gồm hai biểu thức [4 và 5] và một toán tử [+]. Khi một biểu thức tạo ra một giá trị, nó thường được gọi là giải quyết giá trị đó. Nghĩa là, khi tất cả các biểu thức con được tính đến, biểu thức có thể được coi như thể nó là một mã cho chính giá trị đó. Trong trường hợp này, biểu thức [4 + 5] có kết quả là 9

Bây giờ bạn đã hiểu rõ các nguyên tắc, đã đến lúc xem qua các toán tử thường được sử dụng trong lập trình PHP

Toán tử gán

Bạn đã thấy toán tử gán được sử dụng mỗi khi một biến được khai báo trong một ví dụ; . =. Toán tử gán lấy giá trị của toán hạng bên phải và gán nó cho toán hạng bên trái

$name = "jimbo";

Biến $name hiện chứa chuỗi "jimbo". Cấu trúc này cũng là một biểu thức. Mặc dù thoạt nhìn có vẻ như toán tử gán chỉ thay đổi biến $name mà không tạo ra giá trị, nhưng trên thực tế, một câu lệnh sử dụng toán tử gán luôn phân giải thành một bản sao của giá trị của toán hạng bên phải. Như vậy

echo $name = "jimbo";

in chuỗi "jimbo" ra trình duyệt đồng thời gán giá trị "jimbo" cho biến $name

toán tử số học

Các toán tử số học thực hiện chính xác những gì bạn mong đợi—chúng thực hiện các phép toán số học. Bảng 5. 2 liệt kê các toán tử này cùng với các ví dụ về cách sử dụng và kết quả của chúng

Bảng 5. 2. toán tử số học

Nhà điều hành

Tên

Thí dụ

Kết quả mẫu

+

Phép cộng

10+3

13

phép trừ

10−3

7

/

Phân công

3/10

3. 3333333333333

*

Phép nhân

10*3

30

%

mô đun

10%3

1

Toán tử cộng thêm toán hạng bên phải vào toán hạng bên trái. Toán tử trừ trừ toán hạng bên phải khỏi toán hạng bên trái. Toán tử chia chia toán hạng bên trái cho toán hạng bên phải. Toán tử nhân nhân toán hạng bên trái với toán hạng bên phải. Toán tử mô đun trả về phần còn lại của toán hạng bên trái chia cho toán hạng bên phải

Toán tử nối

Toán tử nối được biểu thị bằng một dấu chấm [. ]. Coi cả hai toán hạng là chuỗi, toán tử này nối toán hạng bên phải với toán hạng bên trái. Vì thế

"hello"." world"

lợi nhuận

"hello world"

Lưu ý rằng khoảng cách kết quả giữa các từ xảy ra do có một khoảng trắng ở đầu trong toán hạng thứ hai ["thế giới" thay vì "thế giới"]. Toán tử nối thực sự kết hợp hai chuỗi với nhau mà không cần thêm bất kỳ phần đệm nào. Vì vậy, nếu bạn cố nối hai chuỗi mà không có dấu cách ở đầu hoặc ở cuối, chẳng hạn như

"hello"."world"

bạn sẽ nhận được điều này như là kết quả của bạn

________số 8_______

Bất kể kiểu dữ liệu của toán hạng được sử dụng với toán tử nối, chúng được coi là chuỗi và kết quả sẽ luôn là kiểu chuỗi. Bạn sẽ thường xuyên gặp phép nối trong suốt cuốn sách này khi kết quả của một biểu thức thuộc loại nào đó phải được kết hợp với một chuỗi, như trong

$cm = 212;
echo "the width is ".[$cm/100]." meters";

Toán tử gán kết hợp

Mặc dù chỉ có một toán tử gán thực sự, PHP cung cấp một số toán tử kết hợp giúp biến đổi toán hạng bên trái và trả về kết quả, đồng thời sửa đổi giá trị ban đầu của biến. Theo quy tắc, các toán tử sử dụng toán hạng nhưng không thay đổi giá trị ban đầu của chúng, nhưng các toán tử gán kết hợp lại phá vỡ quy tắc này. Toán tử gán kết hợp bao gồm ký hiệu toán tử chuẩn theo sau là dấu bằng. Toán tử gán kết hợp giúp bạn tránh được rắc rối khi sử dụng hai toán tử trong hai bước khác nhau trong tập lệnh của mình. Ví dụ: nếu bạn có một biến có giá trị là 4 và bạn muốn tăng giá trị này lên 4 nữa, bạn có thể thấy

$x = 4;
$x = $x + 4; // $x now equals 8

Tuy nhiên, bạn cũng có thể sử dụng toán tử gán kết hợp [+=] để cộng và trả về giá trị mới, như minh họa ở đây

$x = 4;
$x += 4; // $x now equals 8

Mỗi toán tử số học, cũng như toán tử nối, cũng có một toán tử gán tổ hợp tương ứng. Bảng 5. 3 liệt kê các toán tử mới này và hiển thị ví dụ về cách sử dụng của chúng

Bảng 5. 3. Một số toán tử gán kết hợp

Nhà điều hành

Thí dụ

Tương đương với

+=

$x += 5

$x = $x + 5

−=

$x −= 5

$x = $x − 5

/=

$x /= 5

$x = $x / 5

*=

$x *= 5

$x = $x * 5

%=

$x %= 5

$x = $x % 5

=

$x. = "kiểm tra"

$x = $x. " kiểm tra"

Mỗi ví dụ trong Bảng 5. 3 biến đổi giá trị của $x sử dụng giá trị của toán hạng bên phải. Các lần sử dụng tiếp theo của $x sẽ đề cập đến giá trị mới. Ví dụ

$name = "jimbo";
0

Các toán tử này sẽ được sử dụng xuyên suốt các tập lệnh trong sách. Bạn sẽ thường xuyên thấy toán tử gán nối kết hợp khi bạn bắt đầu tạo văn bản động;

Tự động tăng và giảm một biến số nguyên

Khi viết mã trong PHP, bạn sẽ thường thấy cần phải tăng hoặc giảm một biến có kiểu số nguyên. Bạn thường sẽ cần phải làm điều này khi bạn đang đếm số lần lặp lại của một vòng lặp. Bạn đã học được hai cách để làm điều này—bằng cách tăng giá trị của $x bằng cách sử dụng toán tử cộng

$name = "jimbo";
1

hoặc bằng cách sử dụng toán tử gán kết hợp

$name = "jimbo";
2

Trong cả hai trường hợp, giá trị mới được gán cho $x. Bởi vì các biểu thức loại này là phổ biến, PHP cung cấp một số toán tử đặc biệt cho phép bạn cộng hoặc trừ hằng số nguyên 1 từ một biến số nguyên, gán kết quả cho chính biến đó. Chúng được gọi là toán tử tăng sau và giảm sau. Toán tử tăng sau bao gồm hai ký hiệu dấu cộng được thêm vào một tên biến

$name = "jimbo";
3

Biểu thức này tăng giá trị được đại diện bởi biến $x lên một. Sử dụng hai dấu trừ theo cùng một cách sẽ làm giảm biến

$name = "jimbo";
4

Nếu bạn sử dụng toán tử tăng sau hoặc giảm sau kết hợp với toán tử điều kiện, toán hạng sẽ chỉ được sửa đổi sau khi thao tác đầu tiên kết thúc

$name = "jimbo";
5

Trong trường hợp này, $y đầu tiên trở thành 6 [kết quả của 3 + 3] và sau đó $x được tăng lên

Trong một số trường hợp, bạn có thể muốn tăng hoặc giảm một biến trong biểu thức kiểm tra trước khi thực hiện kiểm tra. PHP cung cấp các toán tử tăng trước và giảm trước cho mục đích này. Các toán tử này hoạt động giống như các toán tử tăng sau và giảm sau, nhưng chúng được viết bằng các ký hiệu cộng hoặc trừ trước biến

$name = "jimbo";
6

Nếu các toán tử này được sử dụng như một phần của biểu thức kiểm tra, thì việc tăng dần sẽ xảy ra trước khi thực hiện kiểm tra. Ví dụ: trong đoạn tiếp theo, $x được tăng lên trước khi nó được kiểm tra so với 4

$name = "jimbo";
7

Biểu thức kiểm tra trả về false vì 4 không nhỏ hơn 4

Toán tử so sánh

Toán tử so sánh thực hiện kiểm tra so sánh bằng cách sử dụng toán hạng của chúng và trả về giá trị Boolean true nếu kiểm tra thành công hoặc sai nếu kiểm tra thất bại. Loại biểu thức này hữu ích khi sử dụng các cấu trúc điều khiển trong tập lệnh của bạn, chẳng hạn như câu lệnh if và while. Cuốn sách này đề cập đến các câu lệnh if và while trong Chương 6, “Các hàm điều khiển luồng trong PHP. ”

Ví dụ: để kiểm tra xem giá trị chứa trong $x có nhỏ hơn 5 hay không, bạn có thể sử dụng toán tử nhỏ hơn như một phần của biểu thức của mình

$name = "jimbo";
8

Nếu $x chứa giá trị 3, biểu thức này sẽ có giá trị true. Nếu $x chứa 7, biểu thức chuyển thành false

Bảng 5. 4 liệt kê các toán tử so sánh

Bảng 5. 4. Toán tử so sánh

Nhà điều hành

Tên

Trả về Đúng Nếu

Ví dụ [$x Là 4]

Kết quả

==

tương đương

Trái tương đương với phải

$x == 5

sai

=

không tương đương

Trái không tương đương với phải

$x. = 5

ĐÚNG VẬY

===

Giống hệt nhau

Trái tương đương với phải và chúng cùng loại

$x === 4

ĐÚNG VẬY

không tương đương

Trái tương đương với phải nhưng chúng không cùng loại

$x === "4"

sai

>

Lớn hơn

Trái lớn hơn phải

$x > 4

sai

>=

Lớn hơn hoặc bằng

Trái lớn hơn hoặc bằng phải

$x >= 4

ĐÚNG VẬY

Chủ Đề