substr – Cắt chuỗi, trả về một phần của chuỗi
(PHP 4, PHP 5) substr – Cắt chuỗi, trả về một phần của chuỗi Miêu tả hàm substr 1 string substr ( string $string , int $start [ , int $length ] ) Trả về ...
(PHP 4, PHP 5)
substr – Cắt chuỗi, trả về một phần của chuỗi
Miêu tả hàm substr
1 |
string substr ( string $string , int $start [, int $length ] ) |
Tham số trong substr
string
Chuỗi ký tự đầu vào. Cần phải có ít nhất 1 ký tự.
start
Nếu $start là một số không âm, chuỗi trả về sẽ bắt đầu từ vị trí thứ $start trong chuỗi, ký tự đầu tiên được tính là vị trí số 0. Ví dụ, trong chuỗi ‘abcdef’, ký tự ở vị trí số 0 là ‘a’, ký tự ở vị trí số 2 là ‘c’.
Nếu $start là một số âm, chuỗi trả về sẽ bắt đầu từ vị trí thứ $start nhưng tính từ cuối chuỗi trở lại.
Nếu độ dài của chuỗi nhỏ hơn giá trị $start, giá trị trả về sẽ là FALSE.
Ví dụ 1: Sử dụng $start là số âm
1 2 3 4 5 |
<?php substr("abcdef", -1); // trả về "f" substr("abcdef", -2); // trả về "ef" substr("abcdef", -3, 1); // trả về "d" ?> |
Nếu tham số $length được sử dụng và là một số dương, chuỗi trả về sẽ bao gồm $length ký tự, tính từ vị trí thứ $start (tùy thuộc vào độ dài của chuỗi).
Nếu tham số $length được sử dụng và là một số âm, chuỗi trả về được tính từ vị trí $start đến vị trí $length (trong đó vị trí $length được tính từ cuối chuỗi trở lại). Nếu vị trí $start nằm giữa vị trí $length đến cuối chuỗi, giá trị trả về sẽ là FALSE.
Nếu tham số $length được sử dụng và là có giá trị là 0, FALSE hoặc NULL, giá trị trả về sẽ là một chuỗi rỗng.
Nếu tham số $length không được sử dụng, chuỗi trả về sẽ bắt đầu từ vị trí $start cho đến hết chuỗi.
Ví dụ 2: Sử dụng $length là số âm
1 2 3 4 5 6 |
<?php substr("abcdef", 0, -1); // trả về "abcde" substr("abcdef", 2, -1); // trả về "cde" substr("abcdef", 4, -4); // trả về false substr("abcdef", -3, -1); // trả về "de" ?> |
Giá trị trả về
Trả về một phần của chuỗi (hoặc một chuỗi rỗng), nếu lỗi trả về FALSE.
Ví dụ
Ví dụ 3:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
<?php echo substr('abcdef', 1); // bcdef echo substr('abcdef', 1, 3); // bcd echo substr('abcdef', 0, 4); // abcd echo substr('abcdef', 0, 8); // abcdef echo substr('abcdef', -1, 1); // f // Để lấy một ký tự trong chuỗi // bạn có thể sử dụng 2 dấu ngoặc nhọn (như mảng) $string = 'abcdef'; echo $string[0]; // a echo $string[3]; // d echo $string[strlen($string)-1]; // f ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
<?php class apple { public function __toString() { return "green"; } } echo "1) ".var_export(substr("pear", 0, 2), true).PHP_EOL; echo "2) ".var_export(substr(54321, 0, 2), true).PHP_EOL; echo "3) ".var_export(substr(new apple(), 0, 2), true).PHP_EOL; echo "4) ".var_export(substr(true, 0, 1), true).PHP_EOL; echo "5) ".var_export(substr(false, 0, 1), true).PHP_EOL; echo "6) ".var_export(substr("", 0, 1), true).PHP_EOL; echo "7) ".var_export(substr(1.2e3, 0, 4), true).PHP_EOL; ?> |
1 2 3 4 5 6 7 |
1) 'pe' 2) '54' 3) 'gr' 4) '1' 5) ' 6) ' 7) '1200' |
1 2 3 4 5 6 7 |
1) 'pe' 2) '54' 3) 'gr' 4) '1' 5) false 6) false 7) '1200' |
Lỗi / Ngoại lệ
Trả về FALSE nếu bị lỗi.
1 2 3 |
<?php var_dump(substr('a', 2)); // bool(false) ?> |