Lấy độ dài ký tự của một chuỗi
Ví dụ:
<?php
echo strlen("Duc Anh"); // kết quả của đoạn code này là 7, bao gồm cả khoảng trống
?>
Với tiếng Việt có dấu, số ký tự tăng thêm tương ứng với số ký tự phải gõ, ví dụ:
<?php
echo strlen("Duc Anh"); // kết quả không phải 7, mà là 10, vì Đức Anh, gõ theo kiểu Telex sẽ là DDuwcs Anh
?>
Đếm số từ trong chuỗi
Ví dụ:
<?php
echo str_word_count("Nguyen Duc Anh"); // cho kết quả là 3
?>
Tuy nhiên với ký tự có dấu lại khác
<?php
echo str_word_count("Nguyễn Đức Anh"); // cho kết quả là 6
?>
Đảo chuỗi
Ví dụ:
<?php
echo strrev("Duc Anh"); // cho kết quả là hnA cuD
?>
Với ký tự có dấu kết quả bị lỗi:
<?php
echo strrev("Đức Anh"); // kết quả bị lỗi ở phần có dấu hnA c�����
?>
Tìm kiếm từ hoặc dãy ký tự trong chuỗi
Hàm này dùng để tìm kiếm xem có từ nào đó hoặc dãy ký tự nằm trong chuỗi hay không? nếu có nó sẽ trả về kết là số nguyên dương (là số ký tự đứng trước từ tìm thấy), nếu không, nó sẽ trả về kết quả là FALSE.
Ví dụ:
<?php
echo strpos("Duc Anh dep trai", "dep trai"); // kết quả sẽ là 8, điều này có nghĩa là từ "dep trai" có nằm trong chuỗi trên và có 8 ký tự đứng trước nó bao gồm cả ký tự trống
?>
Nếu từ cần tìm nằm ngay đầu, kết quả trả về sẽ 0, ví dụ
<?php
echo strpos("Duc Anh dep trai", "Duc Anh"); // bạn sẽ nhận được kết quả là 0
?>
Với ký tự có dấu, hàm vẫn hoạt động tốt, chỉ khác là số ký tự sẽ thay đổi giống như hàm strlen()
Ví dụ:
<?php
echo strpos("Đức Anh đẹp trai", "đẹp trai"); // sẽ cho kết quả là 11, chứ không phải 8. Nếu mục đích là tìm xem có từ đẹp trai hay không, thì 8 hay 11 có cùng ý nghĩa.
?>
Thay thế từ trong chuỗi bằng từ khác
Ví dụ:
<?php
echo str_replace("Anh", "Hùng", "Nguyễn Đức Anh"); // cho kết quả là: Nguyễn Đức Hùng
?>
Cú pháp dễ nhận thấy qua ví dụ: từ cần bỏ đi là Anh, từ được thêm mới là Hùng, chuỗi cần đối chiếu là: Nguyễn Đức Anh
Nếu từ cần bỏ đi không tìm thấy trong chuỗi thì chuỗi đó vẫn giữ nguyên, ví dụ:
<?php
echo str_replace("Anfd", "Hùng", "Nguyễn Đức Anh"); // vẫn cho kết quả là Nguyễn Đức Anh vì Anfd không tồn tại trong chuỗi
?>
Trường hợp này thì sao, bạn hãy thử đoán kết quả nhé:
<?php
echo str_replace("An", "Hùng", "Nguyễn Đức Anh");
?>
Không như dự đoán của tôi là không có gì thay đổi, thực tế chuỗi vẫn thấy từ An và kết quả của đoạn trên sẽ là: Nguyễn Đức Hùngh
No comments:
Post a Comment