Cách trích xuất số từ chuỗi trong PHP

Bài viết này hướng dẫn cách trích xuất các số từ chuỗi trong PHP bằng nhiều cách khác nhau như sử dụng regex (biểu thức chính quy), các hàm PHP có sẵn như `preg_match_all`, `filter_var`, và các phương pháp thủ công.

Trích xuất số từ chuỗi là một tác vụ phổ biến khi xử lý dữ liệu đầu vào. Bài viết này sẽ giới thiệu nhiều cách khác nhau để trích xuất các số từ chuỗi trong PHP, bao gồm sử dụng biểu thức chính quy (regex) và các hàm tích hợp sẵn của PHP.

Mã PHP:

Cách 1: Sử dụng preg_match_all với regex

<?php
$string = "The price is 200 dollars and 30 cents.";
// Sử dụng regex để tìm tất cả các số trong chuỗi
preg_match_all('!\d+!', $string, $matches);

// Trả về mảng chứa các số đã được trích xuất
print_r($matches[0]);
?>

Cách 2: Sử dụng filter_var với hàm FILTER_SANITIZE_NUMBER_INT

<?php
$string = "The price is 200 dollars and 30 cents.";
// Lọc chuỗi để chỉ giữ lại các số nguyên
$numbers = filter_var($string, FILTER_SANITIZE_NUMBER_INT);

// In ra số đã được lọc
echo $numbers;
?>

Cách 3: Trích xuất số theo cách thủ công

<?php
$string = "The price is 200 dollars and 30 cents.";
// Lặp qua từng ký tự trong chuỗi và lưu lại các số
$numbers = '';
for ($i = 0; $i < strlen($string); $i++) {
    if (is_numeric($string[$i])) {
        $numbers .= $string[$i];
    }
}

// In ra các số đã được trích xuất
echo $numbers;
?>

Giải thích chi tiết từng dòng code:

Cách 1: preg_match_all

  1. preg_match_all('!\d+!', $string, $matches);: Sử dụng biểu thức chính quy để tìm tất cả các chuỗi ký tự số.
  2. print_r($matches[0]);: In ra mảng chứa tất cả các số tìm thấy.

Cách 2: filter_var

  1. filter_var($string, FILTER_SANITIZE_NUMBER_INT);: Loại bỏ tất cả các ký tự không phải số trong chuỗi, chỉ giữ lại số nguyên.

Cách 3: Phương pháp thủ công

  1. for ($i = 0; $i < strlen($string); $i++): Lặp qua từng ký tự trong chuỗi.
  2. if (is_numeric($string[$i])): Kiểm tra xem ký tự có phải là số hay không.
  3. echo $numbers;: In ra các số đã được trích xuất.

Yêu cầu hệ thống:

  • PHP phiên bản 7.0 trở lên.

Lời khuyên:

  • Khi làm việc với chuỗi có chứa số và ký tự khác, hãy luôn kiểm tra đầu vào để tránh lỗi dữ liệu không mong muốn.
  • Nếu chuỗi có chứa cả số âm hoặc số thực, bạn nên điều chỉnh biểu thức chính quy hoặc phương pháp xử lý để phù hợp.
Tags: PHP, String


Các Hướng Dẫn Cùng Chủ Đề Đang Xem

Tạo thumbnail cho hình ảnh bằng PHP

Hướng dẫn cách tạo thumbnail cho hình ảnh bằng PHP với sự hỗ trợ của thư viện GD. Mã PHP này giúp tạo ảnh thu nhỏ từ ảnh gốc với kích thước tùy chỉnh.
Xử lý đa luồng trong PHP bằng thư viện pthreads

Hướng dẫn chi tiết cách xử lý đa luồng trong PHP bằng cách sử dụng thư viện `pthreads`. Bài viết bao gồm các bước cài đặt, ví dụ minh họa, và cách áp dụng đa luồng để cải thiện hiệu suất ứng dụng PHP.
Tổng hợp tất cả các cách nối chuỗi trong PHP

Hướng dẫn chi tiết về tất cả các cách nối chuỗi trong PHP, bao gồm sử dụng toán tử nối chuỗi, hàm nối chuỗi, và các phương pháp khác.
Tạo watermark cho hình ảnh bằng PHP

Hướng dẫn cách thêm watermark cho hình ảnh bằng PHP sử dụng thư viện GD. Mã PHP này cho phép thêm watermark văn bản hoặc hình ảnh lên ảnh gốc.
Lấy nội dung từ database MySQL bằng PHP

Hướng dẫn cách lấy nội dung từ database MySQL sử dụng PHP. Bao gồm mã nguồn và giải thích chi tiết từng bước để kết nối và truy vấn cơ sở dữ liệu MySQL.
Ví dụ về Factory Pattern trong PHP

Hướng dẫn về Factory Pattern trong PHP với ví dụ cụ thể giúp bạn hiểu rõ cách sử dụng mẫu thiết kế này trong lập trình hướng đối tượng.
Cách sử dụng hàm str_pad() trong PHP

Hướng dẫn chi tiết cách sử dụng hàm `str_pad()` trong PHP để lấp đầy chuỗi với các ký tự theo một độ dài nhất định. Bài viết sẽ giới thiệu các cách sử dụng phổ biến của hàm này trong lập trình.
Cách ghi nội dung vào file Excel bằng PHP

Hướng dẫn chi tiết cách ghi nội dung vào file Excel bằng PHP bằng cách sử dụng thư viện PHPExcel hoặc thư viện mới hơn là PhpSpreadsheet.
Tạo ứng dụng chat đơn giản sử dụng Socket.IO trong PHP

Hướng dẫn từng bước để tạo ứng dụng chat đơn giản bằng Socket.IO trong PHP, giúp bạn hiểu rõ cách sử dụng WebSocket để tạo ra trải nghiệm giao tiếp thời gian thực.
Phân trang kết quả truy vấn MySQL bằng PHP

Hướng dẫn cách phân trang kết quả truy vấn từ MySQL bằng PHP. Mã PHP này giúp chia nhỏ dữ liệu từ cơ sở dữ liệu MySQL thành các trang riêng biệt để hiển thị hiệu quả hơn.

Đã thêm vào giỏ hàng