Nhận toàn quyền truy cập vào Học PHP, MySQL và JavaScript và hơn 60 nghìn đầu sách khác, với bản dùng thử miễn phí 10 ngày của O'Reilly
Ngoài ra còn có các sự kiện trực tuyến trực tiếp, nội dung tương tác, tài liệu chuẩn bị chứng nhận, v.v.
Đã dành thời gian khắc phục sự cố trong đó ứng dụng web PHP/MySQL gặp sự cố khi kết nối với cơ sở dữ liệu. Cơ sở dữ liệu có thể được truy cập từ trình bao và phpMyAdmin với thông tin xác thực giống hệt nhau và điều đó không hợp lý
Hóa ra mật khẩu có ký hiệu $ trong đó
$_DB["password"] = "mypas$word";
Mật khẩu được gửi là "mypas" rõ ràng là sai
Cách tốt nhất để xử lý vấn đề này là gì?
$_DB["password"] = "mypas\$word";
va no đa hoạt động
Tôi thường sử dụng
$_DB["password"] = "mypas\$word";
9 cho các chuỗi, đây có lẽ là cách tôi tránh gặp phải vấn đề này trước đâyĐây có phải là hành vi đúng không?
Giải pháp tốt nhất
$_DB['password'] = 'mypas$word';
Các chuỗi trích dẫn đơn không được xử lý và được coi là "nguyên trạng". Bạn phải luôn sử dụng các chuỗi trích dẫn đơn trừ khi bạn đặc biệt cần thay thế $variable hoặc chuỗi thoát [\n, \r, v.v.]. Nó nhanh hơn và ít bị lỗi hơn
Giải pháp liên quan
C# – sự khác nhau giữa String và string trong C#
string greet = String.Format["Hello {0}!", place];
0 là một bí danh trong C# cho string greet = String.Format["Hello {0}!", place];
1. Vì vậy, về mặt kỹ thuật, không có sự khác biệt. Nó giống như
$_DB["password"] = "mypas\$word";
0 so với. $_DB["password"] = "mypas\$word";
1. Theo hướng dẫn, thông thường nên sử dụng
string greet = String.Format["Hello {0}!", place];
0 bất cứ khi nào bạn đang đề cập đến một đối tượnge. g
string place = "world";
Tương tự như vậy, tôi nghĩ thông thường nên sử dụng
$_DB["password"] = "mypas\$word";
3 nếu bạn cần tham khảo cụ thể về lớp họce. g
string greet = String.Format["Hello {0}!", place];
Đây là phong cách mà Microsoft có xu hướng sử dụng trong
Có vẻ như hướng dẫn trong lĩnh vực này có thể đã thay đổi, vì StyleCop hiện bắt buộc sử dụng các bí danh cụ thể của C#
C++ – Cách lặp qua các từ của một chuỗi
Tôi sử dụng cái này để phân tách chuỗi bằng dấu phân cách. Cái đầu tiên đưa kết quả vào một vectơ dựng sẵn, cái thứ hai trả về một vectơ mới
________số 8Lưu ý rằng giải pháp này không bỏ qua các mã thông báo trống, vì vậy phần sau sẽ tìm thấy 4 mục, một trong số đó trống
$x [đơn đô la] là biến thông thường có tên x lưu trữ bất kỳ giá trị nào như chuỗi, số nguyên, float, v.v. $$x [đô la kép] là một biến tham chiếu lưu trữ giá trị có thể được truy cập bằng cách sử dụng ký hiệu $ trước giá trị $x. Chúng được gọi là biến biến trong PHP
biến biến. - Biến biến đơn giản là biến có tên được tạo động bởi giá trị của biến khác
Trong PHP, string là kiểu dữ liệu cho phép bạn lưu trữ một dãy ký tự. Ngôn ngữ PHP chỉ hỗ trợ 256 ký tự vì mỗi ký tự được lưu dưới dạng byte. Một byte chỉ có tối đa 256 giá trị khác nhau
Có nhiều cách khác nhau để bạn có thể định nghĩa một chuỗi trong PHP. Mỗi phương pháp này hoạt động khác nhau và có ưu và nhược điểm của chúng
Các phương thức khác nhau để chỉ định một chuỗi như sau
- Trích dẫn đơn [
2] - Dấu ngoặc kép [
3] - Cú pháp Heredoc [
4] - Cú pháp Nowdoc [______95]
Trong hướng dẫn này, chúng ta sẽ xem xét từng cách khác nhau để xác định một chuỗi trong ngôn ngữ PHP
Nếu bạn mới bắt đầu với PHP, chúng tôi khuyên bạn nên tập trung vào dấu ngoặc đơn và dấu ngoặc kép. Chúng là những cách đơn giản nhất để xác định một chuỗi và là những gì bạn có thể sẽ sử dụng nhiều nhất
Chuỗi trích dẫn đơn trong PHP
Bạn có thể định nghĩa một chuỗi trong ngôn ngữ PHP bằng cách gói nó trong dấu nháy đơn [
2]$_DB["password"] = "mypas\$word";
4Khi bạn sử dụng dấu ngoặc đơn, PHP sẽ không mở rộng các ký tự đặc biệt trong chuỗi. Nó chỉ hỗ trợ thoát khỏi dấu nháy đơn/dấu nháy đơn [
7] hoặc ký tự dấu gạch chéo ngược [
8]Các chuỗi PHP trích dẫn đơn nhanh hơn một chút so với các chuỗi trích dẫn kép và nên được sử dụng trong trường hợp bạn không muốn đánh giá chuỗi đó
Nếu bạn muốn sử dụng các ký tự hoặc biến đặc biệt trong chuỗi, bạn sẽ cần sử dụng chuỗi trích dẫn kép
Ví dụ về Sử dụng dấu nháy đơn để xác định chuỗi trong PHP
Trong vài phần sau đây, chúng ta sẽ khám phá một số hành vi khác nhau của các trích dẫn đơn trong PHP
Chúng ta sẽ khám phá cách sử dụng dấu ngoặc đơn và cách xử lý các trường hợp cạnh khác nhau của nó
Cách sử dụng cơ bản của trích dẫn đơn
Cách đơn giản nhất để sử dụng dấu ngoặc đơn trong PHP là chứa một chuỗi bên trong chúng [
2]Ví dụ: nếu chúng tôi muốn in văn bản “______180” bằng PHP, chúng tôi có thể sử dụng đoạn mã sau
$_DB["password"] = "mypas\$word";
9Nhiều dòng sử dụng dấu nháy đơn
Vì các dấu ngoặc đơn trong PHP không hỗ trợ mở rộng các ký tự thoát như “
$_DB["password"] = "mypas\$word";
81”, bạn sẽ phải nhúng các dòng mới vào chuỗiĐiều này có nghĩa là bạn cần xác định chuỗi trên nhiều dòng, như hình bên dưới
Sử dụng một trích dẫn trong một trích dẫn trong một chuỗi
Nếu bạn đang viết một chuỗi mà bạn muốn bao gồm một trích dẫn hoặc dấu nháy đơn, bạn sẽ cần thoát nó
Bạn có thể thoát khỏi một trích dẫn duy nhất [_______97] bằng cách sử dụng dấu gạch chéo ngược [
8] ngay trước nó như vậy “$_DB["password"] = "mypas\$word";
84“Ví dụ: nếu chúng tôi muốn hiển thị một chuỗi được trích dẫn trong chuỗi, chúng tôi có thể viết nó như sau
$_DB["password"] = "mypas\$word";
8Dấu nháy đơn Không mở rộng
PHP sẽ không mở rộng các ký tự thoát hoặc biến trong chuỗi của bạn khi bạn sử dụng dấu nháy đơn
Ví dụ: sử dụng trình tự nguồn cấp dữ liệu “
$_DB["password"] = "mypas\$word";
81” trong một chuỗi trích dẫn đơn, sẽ được in đơn giản là “$_DB["password"] = "mypas\$word";
81“$_DB['password'] = 'mypas$word';
8Tương tự như vậy, nếu bạn cố gắng đưa một biến PHP vào trong chuỗi trích dẫn đơn, nó sẽ chỉ được hiểu là các ký tự
$_DB['password'] = 'mypas$word';
9Chuỗi trích dẫn kép trong PHP
Cách thứ hai để xác định chuỗi trong PHP là sử dụng double [
3] xung quanh một chuỗi ký tự. Dấu ngoặc kép rất hữu ích khi bạn muốn đánh giá nội dung của chuỗi$_DB["password"] = "mypas\$word";
1Ưu điểm của chuỗi trích dẫn kép là PHP sẽ mở rộng các giá trị trong chuỗi. Vì vậy, ví dụ, PHP sẽ mở rộng một ký tự thoát như “______181” thành một nguồn cấp dữ liệu
Tính năng quan trọng nhất của chuỗi trích dẫn kép là PHP sẽ mở rộng tên biến trở lại thành giá trị của chúng
Nhân vật thoát được hỗ trợ
Khi một chuỗi được đặt trong dấu ngoặc kép trong PHP, nó có hỗ trợ cho một số chuỗi thoát. Bạn thoát một ký tự bằng cách bao gồm dấu gạch chéo ngược [
$_DB["password"] = "mypas\$word";
89] trước ký tựBạn có thể thấy một số trình tự thoát khác nhau được PHP hỗ trợ bằng cách tham khảo bảng của chúng tôi bên dưới
Chuỗi thoátReplacement$_DB["password"] = "mypas\$word";
81Ký tự xuống dòng [Linefeed]$_DB['password'] = 'mypas$word';
81Ký tự xuống dòng$_DB['password'] = 'mypas$word';
82Ký tự tab ngang$_DB['password'] = 'mypas$word';
83Ký tự tab dọc$_DB['password'] = 'mypas$word';
84Ký tự thoát$_DB['password'] = 'mypas$word';
85Ký tự nguồn cấp biểu mẫu [ngắt trang]$_DB['password'] = 'mypas$word';
86Ký tự dấu gạch chéo ngược$_DB['password'] = 'mypas$word';
87Ký tự ký hiệu đô la$_DB["password"] = "mypas\$word";
84Trích dẫn đơn$_DB['password'] = 'mypas$word';
89Trích dẫn kép$_DB['password'] = 'mypas$word';
86Ký tự dấu gạch chéo ngược$_DB['password'] = 'mypas$word';
87Ký tự ký hiệu đô la$_DB["password"] = "mypas\$word";
84Trích dẫn đơn$_DB['password'] = 'mypas$word';
89Trích dẫn kép$_DB['password'] = 'mypas$word';
90Ký tự thập lục phân_______code___291Ví dụ về sử dụng chuỗi trích dẫn kép
Trong phần tiếp theo, chúng tôi sẽ chỉ cho bạn nhiều cách khác nhau để sử dụng chuỗi trích dẫn kép [
3] trong PHPNhững ví dụ này sẽ cho bạn thấy cách PHP xử lý các chuỗi trích dẫn kép
Cách sử dụng cơ bản của chuỗi trích dẫn kép trong PHP
Để sử dụng dấu ngoặc kép trong PHP, bạn cần đặt dấu ngoặc kép [
3] trước khi bắt đầu chuỗi và một dấu sauVí dụ: chúng tôi sẽ sử dụng phần sau để in văn bản “______294“
$_DB["password"] = "mypas\$word";
9Chuỗi nhiều dòng sử dụng dấu ngoặc kép
Với dấu ngoặc kép trong PHP, bạn có thể tạo chuỗi nhiều dòng theo một số cách
Cách đầu tiên là nhúng các dòng mới trực tiếp vào chuỗi của bạn. PHP sẽ tự động xử lý những
string place = "world";
0Ngoài ra, bạn có thể chèn dòng mới vào chuỗi của mình bằng ký tự dòng mới “
$_DB["password"] = "mypas\$word";
81“Khi PHP vượt qua chuỗi trích dẫn kép, nó sẽ mở rộng chuỗi ký tự đã thoát thành một dòng mới
string place = "world";
2Thoát khỏi dấu ngoặc kép trong chuỗi trích dẫn kép trong PHP
Nếu bạn sử dụng chuỗi trích dẫn kép trong PHP và muốn sử dụng dấu ngoặc kép, bạn sẽ cần thoát khỏi chúng
Để thoát khỏi dấu ngoặc kép, chúng ta cần đặt dấu gạch chéo ngược [
8] trước dấu ngoặc kép [$_DB['password'] = 'mypas$word';
97]Ví dụ: chúng tôi sẽ sử dụng đoạn mã sau nếu chúng tôi muốn sử dụng chuỗi “
$_DB['password'] = 'mypas$word';
98“$_DB["password"] = "mypas\$word";
90Chuỗi trong PHP Sử dụng Dấu ngoặc kép Mở rộng
Ưu điểm lớn nhất của việc sử dụng dấu ngoặc kép để xác định chuỗi là PHP sẽ mở rộng các biến và ký tự thoát
Khi PHP tìm thấy một tên biến, nó sẽ thực hiện tra cứu và chèn giá trị đó vào chuỗi ở vị trí của nó
$_DB["password"] = "mypas\$word";
91Sử dụng ký hiệu đô la trong chuỗi trích dẫn kép
Vì ký hiệu đô la biểu thị sự bắt đầu của một biến trong một chuỗi kép, bạn có thể cần phải thoát nó
Để thoát khỏi ký hiệu đô la [
$_DB['password'] = 'mypas$word';
99], bạn chỉ cần đặt dấu gạch chéo ngược trước dấu “\”Với ví dụ dưới đây của chúng tôi, bạn có thể thấy rằng PHP sẽ không chèn giá trị của biến của chúng tôi vào chuỗi nhờ dấu gạch chéo ngược
$_DB["password"] = "mypas\$word";
92Sử dụng Cú pháp Heredoc trong PHP
Cách thứ ba để xác định một chuỗi trong PHP được gọi là cú pháp heredoc. Đây là một cú pháp phức tạp hơn bao giờ hết với các ưu điểm của nó, đặc biệt là về khả năng đọc mã
- Đầu tiên, bạn không cần phải lo lắng về việc thoát khỏi dấu ngoặc đơn hoặc dấu ngoặc kép trong chuỗi heredoc, nhờ vào cách nó được xác định
- Thứ hai, giống như các chuỗi trích dẫn kép, các biến và các chuỗi ký tự khác được mở rộng
Để xác định một chuỗi trong PHP bằng cách sử dụng heredoc, bạn cần sử dụng ít hơn ba ký hiệu “
$_DB["password"] = "mypas\$word";
10” ngay sau đó là mã định danh. Ngoài ra, mã định danh phải tuân theo quy tắc đặt tên PHP tiêu chuẩnChuỗi phải kết thúc bằng mã định danh bạn đã chỉ định trên một dòng mới không có khoảng trắng
Dưới đây, bạn có thể xem một ví dụ về chuỗi heredoc được viết chính xác khi được viết bằng PHP
$_DB["password"] = "mypas\$word";
93Ví dụ về sử dụng heredoc trong PHP
Vì cú pháp chuỗi Heredoc của PHP lúc đầu có thể hơi khó hiểu, chúng ta hãy khám phá một số cách khác nhau để sử dụng nó
Bạn sẽ nhanh chóng thấy rằng cú pháp Heredoc làm cho mã dễ đọc hơn nhiều khi xử lý nhiều dòng văn bản
Cách sử dụng đơn giản của heredoc trong PHP
Dưới đây là một ví dụ về cách viết chuỗi một dòng bằng cú pháp heredoc trong PHP. Đối với ví dụ này, chúng tôi sẽ lưu trữ chuỗi “
$_DB["password"] = "mypas\$word";
11” trong biến có tên “$_DB["password"] = "mypas\$word";
12“Mặc dù đây không phải là cách sử dụng cú pháp heredoc tốt nhất, nhưng nó cho bạn ý tưởng về cách sử dụng nó
$_DB["password"] = "mypas\$word";
94Viết chuỗi nhiều dòng bằng cú pháp heredoc
Viết chuỗi nhiều dòng rất đơn giản với cú pháp heredoc trong PHP. Chỉ cần nhúng các dòng mới vào chuỗi
Dưới đây là một ví dụ về cách bạn có thể viết một chuỗi nhiều dòng trong PHP
$_DB["password"] = "mypas\$word";
95Sử dụng dấu ngoặc đơn và dấu ngoặc kép trong PHPs heredoc Syntax
Một trong những lợi thế quan trọng nhất của việc sử dụng cú pháp heredoc trong PHP là bạn không phải lo lắng về việc thoát dấu ngoặc đơn [
7] hoặc dấu ngoặc kép [$_DB['password'] = 'mypas$word';
97]Không thoát khỏi các biểu tượng này làm cho chuỗi của bạn dễ đọc hơn mà không thay đổi chức năng thực tế
Dưới đây, bạn có thể thấy cách chúng tôi đã viết một chuỗi bằng cú pháp heredoc, bao gồm cả dấu ngoặc đơn hoặc dấu ngoặc kép
$_DB["password"] = "mypas\$word";
96Cú pháp heredoc Mở rộng các biến và thoát chuỗi ký tự
Một ưu điểm khác của cú pháp chuỗi heredoc là nó vẫn sẽ mở rộng các biến và thoát khỏi các chuỗi ký tự
Ví dụ: nếu bạn muốn viết một chuỗi một dòng sẽ mở rộng các biến, bạn có thể sẽ sử dụng chuỗi trích dẫn kép