Chuỗi số php

Một kỹ thuật whackier hoạt động bởi vì chỉ có 1 giá trị số và các ký tự duy nhất xuất hiện trước số nguyên là các chữ cái, dấu chấm hoặc không gian là sử dụng

$string = "In My Cart : 11 items";
echo (int)ltrim($string, 'A..z: ');
// 11
3 với mặt nạ ký tự sau đó chuỗi còn lại làm nguyên số

thử nghiệm

$string = "In My Cart : 11 items";
echo (int)ltrim($string, 'A..z: ');
// 11

Nếu vì một số lý do, có nhiều hơn một giá trị nguyên số và bạn muốn lấy cái đầu tiên, thì Regex sẽ là một kỹ thuật trực tiếp

thử nghiệm

echo preg_match('/\d+/', $string, $m) ? $m[0] : '';

$string = "In My Cart : 11 items";
echo (int)ltrim($string, 'A..z: ');
// 11

thử nghiệm

var_dump(sscanf(' ' . $string, '%*[^0-9]%d')[0]);
$string = "In My Cart : 11 items";
echo (int)ltrim($string, 'A..z: ');
// 11

Trong bài viết này, chúng tôi sẽ trích xuất số từ các chuỗi bằng PHP. Có nhiều phương pháp phân tích khác nhau để trích xuất số từ các chuỗi, một số trong số chúng được thảo luận dưới đây

phương pháp

  • Use function preg_match_all(). chức năng preg_match_all()
  • Use  . hàm filter_var()
  • Use  . hàm preg_replace()

Phương pháp 1. Use function preg_match_all(). Lưu ý. preg_match() function used to quote output number from a string

Nếu bạn không biết trước mình có số float hay số nguyên
và nếu chuỗi có thể chứa các ký tự đặc biệt (như dấu cách, €, v.v.),
and if it may contain more than 1 dot or comma,
you may use this function:

// This function strip spaces and other characters from a string and return a number.
// It works for integer and float.
// It expect decimal delimiter to be either a '.' or ','
// Note: everything after an eventual 2nd decimal delimiter will be removed.
function stringToNumber($string) {
    // return 0 if the string contains no number at all or is not a string:
    if (!is_string($string) || !preg_match('/\d/', $string)) {
        return 0;
    } 

    // Replace all ',' with '.':
    $workingString = str_replace(',', '.', $string);

    // Keep only number and '.':
    $workingString = preg_replace("/[^0-9.]+/", "", $workingString);

    // Split the integer part and the decimal part,
    // (and eventually a third part if there are more 
    //     than 1 decimal delimiter in the string):
    $explodedString = explode('.', $workingString, 3);

    if ($explodedString[0] === '') {
        // No number was present before the first decimal delimiter, 
        // so we assume it was meant to be a 0:
        $explodedString[0] = '0';
    } 

    if (sizeof($explodedString) === 1) {
        // No decimal delimiter was present in the string,
        // create a string representing an integer:
        $workingString = $explodedString[0];
    } else {
        // A decimal delimiter was present,
        // create a string representing a float:
        $workingString = $explodedString[0] . '.' .  $explodedString[1];
    }

    // Create a number from this now non-ambiguous string:
    $number = $workingString * 1;

    return $number;
}

Trong bài viết này, chúng ta sẽ tìm hiểu về các loại lỗi (error) trong PHP. Để học tốt bài này, các bạn cần đọc lại bài Cài đặt môi trường lập trình Web PHP với XAMPP để biết cách chạy ứng dụng web PHP với XAMPP

Error (lỗi) là các vấn đề hoặc tình trạng bất thường, ảnh hưởng nghiêm trọng đến chương trình. Khi xảy ra lỗi, chương trình thường sẽ tiếp tục thực thi. Có 4 loại lỗi cơ bản trong PHP là

    • Lỗi phân tích hoặc lỗi cú pháp
    • Lỗi nghiêm trọng
    • lỗi cảnh báo
    • Thông báo lỗi

1. Lỗi cú pháp trong PHP

Lỗi cú pháp hoặc Lỗi phân tích cú pháp còn gọi là lỗi cú pháp. Lỗi này xảy ra là do chúng ta không quản lý cú pháp của PHP khi soạn thảo chương trình. Các lỗi cú pháp thường được truy vấn như thiếu lỗi hoặc thừa dấu trích dẫn, thiếu dấu chấm than,… Lỗi cú pháp được phát hiện bởi trình thông dịch PHP (PHP trình thông dịch)

Ví dụ lỗi cú pháp trong PHP

<?php
$x = "gochocit.com"
echo $x;
?>

Trong ví dụ trên, câu lệnh gán giá trị cho biến $x thiếu dấu chấm than ; . Bên dưới là một số ví dụ lỗi cú pháp khác

________số 8

2. Lỗi nghiêm trọng trong PHP

Lỗi nghiêm trọng xảy ra khi chúng ta gọi một hàm chưa được định nghĩa. Ví dụ

<?php
function add($x, $y){
    $sum = $x + $y;
    echo "sum = " . $sum;
}
$x = 0;
$y = 20;
add($x, $y);
// fatal error: hàm diff chưa được định nghĩa
diff($x, $y);
?>
Kết quả
$string = "In My Cart : 11 items";
echo (int)ltrim($string, 'A..z: ');
// 11
0

3. Lỗi cảnh báo trong PHP

Lỗi cảnh báo là cảnh báo và không dừng thực thi chương trình. Lỗi cảnh báo thường xảy ra khi bao gồm hoặc yêu cầu tệp không tồn tại. Ví dụ

$string = "In My Cart : 11 items";
echo (int)ltrim($string, 'A..z: ');
// 11
1
Kết quả
$string = "In My Cart : 11 items";
echo (int)ltrim($string, 'A..z: ');
// 11
2

4. Thông báo lỗi trong PHP

Thông báo lỗi tương tự như Lỗi cảnh báo. Thông báo lỗi thông báo chương trình có vấn đề nào đó nhưng vẫn cho phép thực thi tập lệnh PHP

$string = "In My Cart : 11 items";
echo (int)ltrim($string, 'A..z: ');
// 11
3

5. Hằng lỗi trong PHP

Bên dưới là những hằng số lỗi được định nghĩa sẵn trong PHP

Giá trịHằngÝ nghĩa1E_ERROMột lỗi nghiêm trọng sẽ làm dừng chương trình2E_WARNINGNhững cảnh báo này sẽ không làm dừng chương trình4E_PARSELỗi khi phân tích cú pháp8E_NOTICEThông báo lỗi và chương trình có thể chạy bình thường16E_CORE_ERRORFal error xảy ra khi PHP mới khởi động. Lỗi này liên quan đến lõi PHP32E_CORE_WARNINGGiống E_WARNING nhưng liên quan đến lõi PHP64E_COMPILE_ERRORGiống E_ERROR nhưng được tạo ra bởi Zend Scripting Engine128E_COMPILE_WARNINGGiống E_WARNING nhưng được tạo ra bởi Zend Scripting Engine32767E_ALLTất cả các lỗi và cảnh báo PHP

Mỗi lỗi trong PHP đều bị đánh giá (giá trị) lỗi. Nó giống như mã lỗi, giúp dễ dàng xác định lỗi đang xảy ra là lỗi gì

Ngoài những hằng lỗi ở trên, PHP còn nhiều hằng lỗi khác. Các bạn có thể tham khảo thêm tại Errors and Logging Constants