Hướng dẫn dùng double quoted trong PHP

Lượt xem: 2100 Ngày tạo: 22/02/2021 Ngày cập nhật: 05/03/2021

Hiện tượng lỗi

Code PHP không chạy, màn hình không xuất kết quả.

Response trả về với Status code là 500 (Server Internal Error)

Error Log hiển thị đối với phiên bản PHP >= 7.0.0

Parse error: syntax error, unexpected double-quoted string ..., expecting "..." or "...." in ... on line ...

hoặc

Parse error: syntax error, unexpected single-quoted string ..., expecting "..." or "..." in ... on line ...

Error Log hiển thị đối với phiên bản PHP < 7.0.0

Parse error: syntax error, unexpected ... T_CONSTANT_ENCAPSED_STRING, expecting ... in ... on line ...

Nguyên nhân lỗi

Bạn thiếu connector (ký tự kết nối) giữa 2 hoặc nhiều chuỗi (string) với nhau. Ví dụ:

echo "Hello world!" "
"; // Lỗi

echo "Hello world!" . "
"; // Đúng . là connector để nối 2 chuỗi với nhau
echo "Hello world!" $html; // Lỗi
echo "Hello world!" . $html; // Đúng

Bạn thiếu separator (ký tự phân chia) giữa các value bên trong một Indexed array. Ví dụ:

$arr = array("Apple", "Orange" "Strawberry"); // Lỗi
$arr = array("Apple", "Orange", "Strawberry"); // Đúng  , là seperator giữa các value bên trong một Indexed array

Bạn thiếu connector (ký tự kết nối) giữa key và value bên trong một Associative array. Ví dụ:

$row = array("name"=>"Jack", "country" "Scotland", "Level" => 9); // Lỗi
$row = array("name"=>"Jack", "country" "Scotland", "Level" => 9); // Đúng => là connector giữa key và value bên trong một Associative array

Cách khắc phục Fix

Bước 1. Xác định vị trí câu lệnh statement chứa lỗi

Bằng thông tin hiển thị trên Error log, ta có thể dễ dàng xác định được vị trí câu lệnh (statement) chứa lỗi.

Hướng dẫn dùng double quoted trong PHP

Ví dụ trường hợp theo ảnh chụp Error log như trên, câu lệnh chứa lỗi sẽ nằm ở dòng 13 của file blog_detail.php

Bước 2. Xác định và bổ sung connector hay separator mà bạn đang thiếu

Bằng việc đối chiếu statement của bạn với những nguyên nhân mà mình đã phân tích bên trên, bạn có thể dễ dàng xác định được code của mình đang thiếu connector hay separator nào. Sau đó, bạn hãy bổ sung nó cho hợp lý.

Bước 3. Lưu code và thử chạy lại

Trong bài viết này, mình sẽ hướng dẫn các bạn 5 cách để đặt code HTML vào một biến của PHP.

Nội dung chính

  • 1. Sử dụng dấu nháy đơn “Single Quoted”
  • 2. Sử dụng dấu nháy kép “Double Quoted”
  • 3. Sử dụng PHP Heredoc
  • 4. Sử dụng PHP Nowdoc
  • 5. Sử dụng Output buffering ob_start()

  • Single Quoted
  • Double Quoted
  • Heredoc Syntax
  • Nowdoc Syntax (từ PHP 5.3.0)
  • ob_start

1. Sử dụng dấu nháy đơn “Single Quoted”

Đây là cách sử dụng phổ biến bởi các lập trình viên PHP

vinasupport.com';

2. Sử dụng dấu nháy kép “Double Quoted”

Tương tự như cách thứ nhất, bạn có thể sử dụng dấu nháy kép để wrap một đoạn code HTML.

vinasupport.com"; // Hoặc $my_var = "vinasupport.com";

3. Sử dụng PHP Heredoc

Cú pháp như sau:

vinasupport.com EOD;

Trường hợp bạn muốn sử dụng 1 biến trong PHP Heredoc

{$my_domain} EOD;

4. Sử dụng PHP Nowdoc

Cú pháp như sau:

Nhìn có vẻ PHP Nowdoc và PHP Heredoc có vẻ giống nhau. Nhưng thực tế thì PHP Nowdoc sử dụng dấu nháy đơn ‘EOD’, còn PHP Heredoc dùng nháy kép “EOD” hoặc ko có dấu

5. Sử dụng Output buffering ob_start()

Các bạn tham khảo ví dụ sau:

HTML goes here...
More HTML...

Nguồn: vinasupport.com