Thử thách: Từ dài nhất
Thuộc phần Kiến thức cơ bản trong hành trình PHP của Coddy. Bài học 70 trên 71.
Thử thách
DễĐọc một dòng đầu vào:
- Một câu chứa nhiều từ, được phân tách bằng dấu cách (ví dụ:
The quick brown fox)
Tạo một hàm (function) có tên findLongestWord nhận một tham số:
$sentencecó kiểu dữ liệustring
Hàm cần khai báo kiểu trả về là string và tìm từ dài nhất trong câu.
Gọi hàm với giá trị đầu vào và in ra kết quả trả về.
Lưu ý: Nếu có nhiều từ cùng độ dài lớn nhất, hãy trả về từ đầu tiên được gặp.
Ví dụ:
"The quick brown fox" → "quick" (5 characters; "brown" is also 5, so the first one is returned)
"I love programming" → "programming" (11 characters)Để giải bài này, bạn cần tách câu thành từng từ. Hàm explode() của PHP rất phù hợp. Hàm này chia một chuỗi thành một mảng dựa trên dấu phân cách:
<?php
$words = explode(" ", "hello world");
// $words is now ["hello", "world"]
?>Tự làm thử
<?php
// Đọc đầu vào
$sentence = trim(fgets(STDIN));
// TODO: Tạo hàm (function) findLongestWord bên dưới
// Nhận $sentence làm tham số kiểu chuỗi (string)
// Thêm khai báo kiểu trả về là string
// Dùng explode() để tách câu thành các từ
// Duyệt mảng (array) và dùng strlen() để tìm từ dài nhất
// Trả về từ dài nhất (nếu nhiều từ dài bằng nhau, chọn từ đầu tiên)
// Gọi hàm và in ra kết quả
echo findLongestWord($sentence);
?>Tất cả bài học trong Kiến thức cơ bản
4Toán tử so sánh và logic
Toán tử so sánhBằng nhau và đồng nhấtToán tử logic phần 1Toán tử logic phần 2Ôn tập: logic đơn giản2Biến và kiểu dữ liệu
SốChuỗi và dấu ngoặc képGiá trị BooleanQuy ước đặt tênÔn tập: khởi tạo biếnBiến rỗngNối chuỗiNhận đầu vào từ người dùngChuyển đổi sang kiểu dữ liệu khác5Logic điều kiện
Câu lệnh ifIf và elseToán tử ba ngôiToán tử kết hợp nullCâu lệnh switchÔn tập: đưa ra quyết định3Các toán tử cơ bản
Toán tử số họcToán tử chia lấy dưToán tử lũy thừaPhép gán kết hợpTăng/giảmThứ tự ưu tiên của toán tửÔn tập: phép tính đơn giảnToán tử chuỗiTự luyện tập: Trình biên dịch PHP online