Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> PHP

Hàm mb_parse_str() trong PHP – Parse GET/POST/COOKIE data

Hàm mb_parse_str() parse dữ liệu URL-encoded (GET, POST, COOKIE), detect encoding, convert về internal encoding, và set biến global. Hỗ trợ từ PHP 7+.

Cú pháp

bool mb_parse_str(string $string, array &$result)

Tham số

Tham số Mô tả
$string Dữ liệu URL-encoded (ví dụ: "user_id=123&email=xyz@gmail.com&country=Vietnam").
$result Mảng tham chiếu (pass by reference) nhận kết quả parse.

Giá trị trả về

true nếu thành công, false nếu thất bại.

Ví dụ

<?php
$data = "user_id=123&email=xyz@gmail.com&country=Vietnam";
$result = [];
mb_parse_str($data, $result);
print_r($result);
/*
Array
(
    [user_id] => 123
    [email] => xyz@gmail.com
    [country] => Vietnam
)
*/
?>

So sánh với parse_str()

Đặc điểm parse_str() mb_parse_str()
Multibyte support Không (giả định single-byte) Có (detect & convert encoding)
Set global variable Có (mặc định, deprecated) Không (chỉ set vào $result array)
PHP version Tất cả PHP 7.0+
Security Rủi ro (auto-global) An toàn hơn (explicit array)

Lưu ý

  • Cần extension mbstring.
  • Không tự động set vào $_GET, $_POST, $_COOKIE – phải gán thủ công nếu cần.
  • Encoding detect dựa trên mb_detect_order().
  • Hữu ích khi xử lý request từ client gửi encoding khác UTF-8.