Bài 8: Thao tác với String trong PHP

Ở bài học này, hãy cùng mình học cách lưu trữ và thao tác với chuỗi trong PHP

Ở bài học này, hãy cùng mình học cách lưu trữ và thao tác với chuỗi (string) trong PHP.

Cách thao tác với chuỗi trong PHP
Cách thao tác với chuỗi trong PHP

1. Chuỗi trong PHP là gì?

Chuỗi là một chuỗi các chữ cái (Text), số (number), ký tự đặc biệt (special characters) và giá trị số học hoặc kết hợp tất cả.

Cách đơn giản nhất để tạo một chuỗi là đặt chuỗi ký tự trong các dấu ngoặc đơn (‘ ‘), như sau:

$my_string = 'Hello World';

Bạn cũng có thể sử dụng dấu ngoặc kép (” “). Tuy nhiên, dấu ngoặc kép và dấu ngoặc kép hoạt động theo nhiều cách khác nhau.

Chuỗi được đặt trong dấu ngoặc đơn được xử lý gần như theo nghĩa đen, trong khi các chuỗi được phân cách bằng dấu ngoặc kép thay thế các biến bằng biểu diễn chuỗi của chúng các giá trị cũng như đặc biệt diễn giải các chuỗi thoát nhất định.

Một số ký tự đặc biệt sử dụng để sử dụng trong dấu nháy đơn, nháy đôi:

  • \n được sử dụng để xuống dòng mới
  • \r được sử dụng để thay thế return
  • \t được sử dụng để thay thế tab
  • \$ được thay thế bằng chính ký hiệu đô la $
  • \” được sử dụng để thay thế ký tự nháy kép “
  • \’ được sử dụng để thay thế ký tự nháy đơn ‘
  • \\ được sử dụng để thay thế ký tự \

Dưới đây là một ví dụ để làm rõ sự khác biệt giữa các chuỗi trích dẫn đơn và kép:

<?php
$my_str = 'World';
echo "Hello, $my_str!<br>";      // Hiển thị: Hello World!
echo 'Hello, $my_str!<br>';      // Hiển thị: Hello, $my_str!
 
echo '<pre>Hello\tWorld!</pre>'; // Hiển thị: Hello\tWorld!
echo "<pre>Hello\tWorld!</pre>"; // Hiển thị: Hello   World!
echo 'I\'ll be back';            // Hiển thị: I'll be back
?>

Các bạn có thể thấy sự khác biệt trong dấu nháy đơn là nó sẽ gần như hiển thị ký tự theo nghĩa đen. Còn nháy đôi thì sẽ biên dịch trong một số trường hợp.

2. Thao tác với chuỗi trong PHP

PHP cung cấp nhiều built-in functions (hàm dựng sẵn) để thao tác các chuỗi cũng như tính toán độ dài của chuỗi, tìm chuỗi con hoặc ký tự, thay thế một phần của chuỗi bằng các ký tự khác nhau, tách chuỗi và nhiều chuỗi khác.

Dưới đây là ví dụ về một số chức năng này:

2.1. Tính độ dài của chuỗi

Hàm strlen() được sử dụng để tính số lượng ký tự bên trong một chuỗi. Nó csẽ tính cả dấu cách:

<?php
$my_str = 'Chào mừng đến với PHPDev';
 
// Outputs: 24
echo strlen($my_str);
?>

2.2. Đếm số lượng từ trong một chuỗi với hàm str_word_count

Chúng ta sử dụng hàm str_word_count() đếm số lượng từ trong chuỗi:

<?php
$my_str = 'Đây là một chuỗi. Hãy đếm số từ thử xem';
 
// Outputs: 10
echo str_word_count($my_str);
?>

2.3. Thay thế văn bản trong chuỗi trong PHP

Hàm str_replace() thay thế tất cả các ký tự mà bạn muốn thay thế trong chuỗi:

<?php
$my_str = 'Đây là một chuỗi. Hãy thay thế vài từ trong chuỗi này xem.';
 
// Hiển thị chuỗi sau khi đã thay thế xong
echo str_replace("chuỗi", "câu", $my_str);
?>

Kết quả nhận được sẽ là:

Đây là một câu. Hãy thay thế vài từ trong câu này xem.

Bạn có thể truyền đối số cho hàm str_numplace() để biết số lần thay thế chuỗi đã được thực hiện, như thế này:

<?php
$my_str = 'Đây là một chuỗi. Hãy thay thế vài từ trong chuỗi này xem.';
 
// Hiển thị chuỗi sau khi đã thay thế xong
echo str_replace("chuỗi", "câu", $my_str, $count);

// Hiển thị số lần đã thay thế
echo "Đã thay thế từ \'chuỗi\' bằng \'câu\' $count lần.";
?>

Kết quả nhận được sẽ là:

Đây là một câu. Hãy thay thế vài từ trong câu này xem.
Đã thay thế từ 'chuỗi' bằng 'câu' 2 lần.

2.4. Đảo ngược chuỗi (Reversing String) trong PHP

Hàm strrev() sẽ đảo ngược một chuỗi:

<?php
$my_str = 'Dao Nguoc Chuoi.';
 
// Display reversed string
echo strrev($my_str);
?>

Kết quả nhận được sẽ là:

.iouhC cougN oaD

3. Tổng kết

Như vậy, qua bài này bạn đã biết về tính độ dài của chuỗi, đếm số lượng từ, thay thế trong chuỗi và đảo ngược chuỗi trong PHP.

Còn rất nhiều hàm đã được dựng sẵn để thao tác với chuỗi. Bạn có thể xem tại link bên dưới đây:

http://php.net/manual/en/ref.strings.php

Bài 7: Kiểu dữ liệu (Data type) trong PHP

Trong hướng dẫn này, bạn sẽ tìm hiểu về các kiểu dữ liệu có sẵn trong PHP như Int, String, Float, Number, Double, Boolean, Array, Object…

Trong hướng dẫn này, bạn sẽ tìm hiểu về các kiểu dữ liệu có sẵn trong PHP như Int, String, Float, Number, Double, Boolean, Array, Object…

Các kiểu dữ liệu trong PHP
Các kiểu dữ liệu trong PHP

Các giá trị được gán cho một biến PHP có thể có các loại dữ liệu khác nhau bao gồm các kiểu chuỗi (string) và số (number) đơn giản đến các loại dữ liệu phức tạp hơn như mảng (array) và đối tượng (object)

1. PHP Integers (Dữ liệu kiểu Số nguyên)

Integers là số nguyên, không có dấu thập phân (…, -2, -1, 0, 1, 2, …). Các số nguyên có thể được chỉ định theo số thập phân (base 10), thập lục phân (base 16 – có tiền tố là 0x) hoặc số bát phân (base 8 – có tiền tố 0), tùy chọn đứng trước một dấu ( – hoặc +).

<?php
$a = 123; // decimal number
var_dump($a);
echo "<br>";
 
$b = -123; // a negative number
var_dump($b);
echo "<br>";
 
$c = 0x1A; // hexadecimal number
var_dump($c);
echo "<br>";
 
$d = 0123; // octal number
var_dump($d);
?>

Note: Kể từ PHP 5.4 trở lên, bạn cũng có thể chỉ định các số nguyên trong ký hiệu nhị phân (base 2). Để sử dụng ký hiệu nhị phân đứng trước số có 0b (ví dụ: $ var = 0b11111111;).

2. PHP String (Dữ liệu kiểu Chuỗi)

String là chuỗi các ký tự, trong đó mỗi ký tự giống như một byte.

Một chuỗi có thể chứa các chữ cái, số và ký tự đặc biệt và nó có thể lớn tới 2GB (tối đa 2147483647 byte).

Cách đơn giản nhất để chỉ định một chuỗi là đặt nó trong các dấu ngoặc đơn (ví dụ: ‘Hello world!’), Tuy nhiên, bạn cũng có thể sử dụng dấu ngoặc kép (”
Hello world”).

<?php
$a = 'Hello world!';
echo $a;
echo "<br>";
 
$b = "Hello world!";
echo $b;
echo "<br>";
 
$c = 'Stay here, I\'ll be back.';
echo $c;
?>

Bạn sẽ được học nhiều hơn về String trong series tự học PHP này trong các bài sau.

3. Kiểu Float hoặc Double

Các số có dấu phẩy động (còn được gọi là “floats”, “double” hoặc “real numbers”) là các số thập phân hoặc phân số, như được minh họa trong ví dụ dưới đây.

<?php
$a = 1.234;
var_dump($a);
echo "<br>";
 
$b = 10.2e3;
var_dump($b);
echo "<br>";
 
$c = 4E-10;
var_dump($c);
?>

4. Dữ liệu kiểu Boolean

Booleans giống như một công tắc, nó chỉ có hai giá trị có thể là 1 (true) hoặc 0 (false).

<?php
// Gán giá trị TRUE cho biến
$show_error = true;
var_dump($show_error);
?>

5. Dữ liệu kiểu Mảng (Array) trong PHP

Một mảng là một biến có thể chứa nhiều hơn một giá trị tại một thời điểm. Mảng rất hữu ích khi tổng hợp một loạt các mục liên quan lại với nhau, ví dụ như một tập hợp các tên quốc gia hoặc thành phố.

Một mảng được định nghĩa chính thức là một tập hợp các giá trị dữ liệu được lập chỉ mục. Mỗi chỉ mục (còn được gọi là key) của một mảng là duy nhất và tham chiếu một giá trị tương ứng.

<?php
$colors = array("Red", "Green", "Blue");
var_dump($colors);
echo "<br>";
 
$color_codes = array(
    "Red" => "#ff0000",
    "Green" => "#00ff00",
    "Blue" => "#0000ff"
);
var_dump($color_codes);
?>

Bạn sẽ học nhiều hơn về array trong các bài học tiếp theo. Bài này mình chỉ giới thiệu thôi.

6. Dữ liệu kiểu đối tượng (Object) trong PHP

Đối tượng là một kiểu dữ liệu không chỉ cho phép lưu trữ dữ liệu mà còn thông tin về cách xử lý dữ liệu đó.

Một đối tượng là một thể hiện cụ thể của một class dùng làm mẫu cho các đối tượng. Các đối tượng được tạo dựa trên mẫu này thông qua từ khóa new

Mọi đối tượng đều có các thuộc tính (properties) và phương thức (method) tương ứng với các thuộc tính của class cha của nó.

Mỗi đối tượng đối tượng là hoàn toàn độc lập, với các thuộc tính và phương thức riêng của nó và do đó có thể được thao tác độc lập với các đối tượng khác cùng class.

Đây là một ví dụ đơn giản về định nghĩa class theo sau là việc tạo đối tượng.

<?php
// Class definition
class greeting{
    // properties
    public $str = "Hello World!";
    
    // methods
    function show_greeting(){
        return $this->str;
    }
}
 
// Create object from class
$message = new greeting;
var_dump($message);
?>

TIP: Các phần tử dữ liệu được lưu trữ trong một đối tượng được gọi là các thuộc tính và thông tin hoặc mã mô tả cách xử lý dữ liệu được gọi là các phương thức của đối tượng.

7. Dữ liệu kiểu NULL trong PHP

Giá trị NULL đặc biệt được sử dụng để biểu diễn các biến rỗng trong PHP. Một biến kiểu NULL là một biến không có dữ liệu. NULL là giá trị duy nhất có thể có của kiểu null.

<?php
$a = NULL;
var_dump($a);
echo "<br>";
 
$b = "Hello World!";
$b = NULL;
var_dump($b);
?>

Hơi khó hiểu phải không? :D. Đừng có cố hiểu bây giờ. Bạn cứ biết là có dữ liệu kiểu Null là được rồi.

8. PHP Resources

Resource là một biến đặc biệt, giữ tham chiếu đến tài nguyên bên ngoài.

Các biến Resource thường giữ các trình xử lý đặc biệt để mở các tệp và kết nối cơ sở dữ liệu.

<?php
// Open a file for reading
$handle = fopen("note.txt", "r");
var_dump($handle);
echo "<br>";
 
// Connect to MySQL database server with default setting
$link = mysql_connect("localhost", "root", "");
var_dump($link);
?>

9. Tổng kết

Như vậy là qua bài này mình đã giới thiệu về 8 kiểu dữ liệu trong PHP. Qua các bài tiếp theo bạn sẽ hiểu rõ hơn khi bắt đầu sử dụng chúng.

Bài 6: Echo và Print trong PHP

Trong bài học này, bạn sẽ học cách sử dụng các câu lệnh echo và print trong PHP để hiển thị dữ liệu trong trình duyệt web.

Trong bài học này, bạn sẽ học cách sử dụng các câu lệnh echo print trong PHP để hiển thị dữ liệu trong trình duyệt web.

Echo và Print trong PHP
Echo và Print trong PHP

1. Câu lệnh Echo

Câu lệnh echo có thể xuất ra một hoặc nhiều chuỗi.

Nói chung, câu lệnh echo có thể hiển thị bất cứ thứ gì có thể được hiển thị cho trình duyệt, chẳng hạn như chuỗi, số, giá trị biến, kết quả của biểu thức, v.v.

Vì echo là cấu trúc ngôn ngữ không thực sự là một hàm (như câu lệnh if), nên bạn có thể sử dụng nó mà không cần dấu ngoặc đơn, ví dụ:

echo Hoặc echo()

Tuy nhiên, nếu bạn muốn truyền nhiều hơn một tham số cho echo, các tham số không được đặt trong dấu ngoặc đơn.

Hiển thị chuỗi ký tự bằng câu lệnh Echo

<?php
// Hiển thị chuỗi ký tự
echo "Hello World!";
?>

Đầu ra của đoạn mã PHP ở trên sẽ trông giống như thế này:

Hello World!

Hiển thị code HTML bằng câu lệnh Echo

Ví dụ sau sẽ chỉ cho bạn cách hiển thị code HTML bằng cách sử dụng câu lệnh echo:

<?php
// Hiển thị code HTML
echo "<h4>Đây là một tiêu đề.</h4>";
echo "<h4 style='color: red;'>Đây cũng là một tiêu đề nhưng màu đỏ.</h4>";
?>

Đầu ra của đoạn mã PHP ở trên sẽ trông giống như thế này:

Đây là một tiêu đề

Đây cũng là một tiêu đề nhưng màu đỏ

Hiển thị Biến bằng echo

Ví dụ sau sẽ cho bạn thấy cách hiển thị biến bằng cách sử dụng câu lệnh echo:

<?php
// Định nghĩa các biến
$txt = "Hello World!";
$num = 123456789;
$colors = array("Red", "Green", "Blue");
 
// Hiển thị các biến
echo $txt;
echo "<br>";
echo $num;
echo "<br>";
echo $colors[0];
?>

Đầu ra của đoạn mã PHP ở trên sẽ trông giống như thế này:

Hello World! 
123456789 
Red

2. Câu lệnh Print trong PHP

Bạn cũng có thể sử dụng câu lệnh print (thay thế cho tiếng echo) để hiển thị đầu ra cho trình duyệt.

Giống như tiếng echo, câu lệnh print cũng là một cấu trúc ngôn ngữ không phải là một function thực sự. Vì vậy, bạn cũng có thể sử dụng nó mà không cần dấu ngoặc đơn như:

print hoặc print()

Cả câu lệnh echo print đều hoạt động chính xác theo cùng một cách ngoại trừ câu lệnh print chỉ có thể xuất ra một chuỗi và luôn trả về 1.

Đó là lý do tại sao câu lệnh echo nhanh hơn so với câu lệnh print vì nó không trả về bất kỳ giá trị nào.

Hiển thị chuỗi ký tự bằng Print

Ví dụ sau đây sẽ cho bạn thấy cách hiển thị một chuỗi ký tự với câu lệnh print:

<?php
// Hiển thị chuỗi ký tự
print "Hello World!";
?>

Đầu ra của đoạn mã PHP ở trên sẽ trông giống như thế này:

Hello World!

Hiển thị code HTML bằng Print

Ví dụ sau đây sẽ cho bạn thấy cách hiển thị code HTML với câu lệnh print:

<?php
// Hiển thị code HTML
print "<h4>Đây là một tiêu đề.</h4>";
print "<h4 style='color: red;'>Đây cũng là một tiêu đề nhưng màu đỏ.</h4>";
?>

Đầu ra của đoạn mã PHP ở trên sẽ trông giống như thế này:

Đây là một tiêu đề

Đây cũng là một tiêu đề nhưng màu đỏ

Hiển thị Biến bằng Print

Ví dụ sau đây sẽ cho bạn thấy cách hiển thị biến với câu lệnh print:

<?php
// Defining variables
$txt = "Hello World!";
$num = 123456789;
$colors = array("Red", "Green", "Blue");
 
// Displaying variables
print $txt;
print "<br>";
print $num;
print "<br>";
print $colors[0];
?>

Đầu ra của mã PHP ở trên sẽ trông giống như thế này:

Hello World! 
123456789 
Red

3. Tổng kết

Như vậy qua bài này bạn đã hiểu cách sử dụng câu lệnh echo print để hiển thị chuỗi ký tự, hiển thị biến và hiển thị code HTML.

Bài tiếp theo chúng ta sẽ cùng tìm hiểu về Kiểu dữ liệu (Data type)