Hàm xử lý chuỗi trong PHP rất đa dạng và phong phú nhưng hàm được dùng nhiều nhất có lẽ là hàm cắt chuỗi. Trong khuôn khổ bài viết này chúng ta sẽ tìm hiểu kỹ hơn về hàm cắt chuỗi trong PHP này nhé
– substr là hàm được sử dụng để cắt chuỗi, trả về một phần của chuỗi
string substr ( string $string , int $start [, int $length ] )
Trả về một phần của chuỗi được cắt bởi 2 tham số: $start và $length
Chuỗi ký tự đầu vào. Cần phải có ít nhất 1 ký tự.
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.
length
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.
Ví dụ 1:
<?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
?>
Ví dụ 2:
<?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;
?>
Kết quả trả về trong PHP 7
1) 'pe'
2) '54'
3) 'gr'
4) '1'
5) ''
6) ''
7) '1200'
Kết quả trả về trong PHP 5
1) 'pe'
2) '54'
3) 'gr'
4) '1'
5) false
6) false
7) '1200'
Unpublished comment
Viết câu trả lời