Làm cách nào để tìm số trong chuỗi bằng PHP?

Ghi chú. Hàm này tạo cảnh báo nếu tham số bắt đầu cộng với tham số độ dài lớn hơn độ dài chuỗi (xem ví dụ 3)


cú pháp

substr_count(chuỗi,chuỗi con,bắt đầu,độ dài)

Giá trị tham số

Tham sốChuỗi mô tảBắt buộc. Chỉ định chuỗi để kiểm tra chuỗi conYêu cầu. Chỉ định chuỗi để tìm kiếm bắt đầuTùy chọn. Chỉ định vị trí trong chuỗi để bắt đầu tìm kiếm. Nếu âm, nó bắt đầu đếm từ cuối chiều dài chuỗiTùy chọn. Chỉ định độ dài của tìm kiếm

chi tiết kỹ thuật

Giá trị trả về. Trả về số lần chuỗi con xuất hiện trong chuỗi Phiên bản PHP. 4+Nhật ký thay đổi. PHP7. 1 - Tham số độ dài có thể là 0 hoặc số âm.
PHP 7. 1 - Tham số bắt đầu có thể là số âm.
PHP 5. 1 - Tham số bắt đầu và độ dài đã được thêm vào.

Thêm ví dụ

Ví dụ

Sử dụng tất cả các tham số

$str = "Thật tuyệt";
echo strlen($str). "
"; . "
echo substr_count($str,"is")."
"; . "
echo substr_count($str,"is",2)."
"; . "
echo substr_count($str,"is",3)."
"; . "
echo substr_count($str,"is",3,3)."
";
?>

Tự mình thử »

Ví dụ

các chuỗi con chồng lên nhau

$str = "abcabcab";
echo substr_count($str,"abcab");
?>

Tự mình thử »

Ví dụ

Nếu tham số bắt đầu và độ dài vượt quá độ dài chuỗi thì hàm này sẽ đưa ra cảnh báo

echo $str = "Thật tuyệt";
substr_count($str,"is",3,9);
?><

Điều này sẽ đưa ra cảnh báo vì giá trị độ dài vượt quá độ dài chuỗi (3+9 lớn hơn 12)

Để kiểm tra xem chuỗi đã cho có phải là số hay không, hãy sử dụng hàm is_numeric() có sẵn trong PHP. is_numeric() lấy chuỗi làm đối số và trả về true nếu chuỗi toàn là số, ngược lại trả về false

Cú pháp của hàm is_numeric() để kiểm tra xem chuỗi đã cho có phải là số hay không là

is_numeric( $string )

Ví dụ – Kiểm tra xem Chuỗi có phải là Số không

Trong ví dụ này, chúng tôi sẽ lấy một chuỗi có các chữ số cho tất cả các ký tự của nó. Sau đó, chúng ta sẽ chuyển chuỗi này làm đối số cho hàm is_numeric(). Hàm sẽ trả về true, vì chuỗi là tất cả các chữ số

Chương trình PHP

đầu ra

Làm cách nào để tìm số trong chuỗi bằng PHP?

Phần kết luận

Trong Hướng dẫn PHP này, chúng ta đã học cách kiểm tra xem chuỗi đã cho có phải là số hay không bằng cách sử dụng hàm is_numeric() tích hợp sẵn trong PHP

PHP cũng có một khái niệm về các chuỗi số hàng đầu. Đây chỉ đơn giản là một chuỗi bắt đầu giống như một chuỗi số theo sau là bất kỳ ký tự nào

Ghi chú

Bất kỳ chuỗi nào chứa chữ cái E (không phân biệt chữ hoa chữ thường) được giới hạn bởi các số sẽ được xem là một số được biểu thị bằng ký hiệu khoa học. Điều này có thể tạo ra kết quả bất ngờ

var_dump("0D1" == "000"); // false, "0D1" is not scientific notation
var_dump("0E1" == "000"); // true, "0E1" is 0 * (10 ^ 1), or 0
var_dump("2E1" == "020"); // true, "2E1" is 2 * (10 ^ 1), or 20
?>

Chuỗi được sử dụng trong ngữ cảnh số

Khi một chuỗi cần được đánh giá là số (e. g. các phép toán số học, khai báo kiểu int, v.v. ) các bước sau đây được thực hiện để xác định kết quả

  1. Nếu chuỗi là số, phân giải thành int nếu chuỗi là chuỗi số nguyên và khớp với giới hạn của giới hạn loại int (như được xác định bởi PHP_INT_MAX), nếu không phân giải thành float
  2. Nếu ngữ cảnh cho phép các chuỗi số ở đầu và chuỗi là một, hãy giải quyết thành một int nếu phần đầu của chuỗi là một chuỗi số nguyên và phù hợp với giới hạn của các giới hạn kiểu int (như được xác định bởi PHP_INT_MAX), nếu không, hãy giải quyết thành một . Ngoài ra, một lỗi cấp độ E_WARNING được nâng lên
  3. Chuỗi không phải là số, ném TypeError

Hành vi trước PHP 8. 0. 0

Trước PHP 8. 0. 0, một chuỗi chỉ được coi là số nếu nó có khoảng trắng ở đầu, nếu nó có khoảng trắng ở cuối thì chuỗi đó được coi là ở đầu số

Trước PHP 8. 0. 0, khi một chuỗi được sử dụng trong ngữ cảnh số, nó sẽ thực hiện các bước tương tự như trên với những điểm khác biệt sau

$tests = array(
    "42",
    1337,
    0x539,
    02471,
    0b10100111001,
    1337e0,
    "0x539",
    "02471",
    "0b10100111001",
    "1337e0",
    "not numeric",
    array(),
    9.1,
    null,
    '',
);

________số 8

Ví dụ trên sẽ xuất ra

Làm cách nào để chỉ nhận giá trị int trong PHP?

Hàm intval() trả về giá trị nguyên của một biến.

Làm cách nào để tách các số trong PHP?

PHP - Phân tách hàm() . Trong trường hợp mẫu là ký tự chữ cái, split() phân biệt chữ hoa chữ thường.