Kiểm tra giá trị bằng 'in_array'
Thuộc phần Logic và luồng chương trình trong hành trình PHP của Coddy. Bài học 17 trên 68.
Khi cần kiểm tra xem một giá trị cụ thể có tồn tại trong mảng hay không, hàm in_array() của PHP là giải pháp phù hợp. Hàm này tìm kiếm trong một mảng và trả về giá trị boolean: true nếu tìm thấy giá trị, hoặc false nếu không tìm thấy.
Đây là cú pháp cơ bản:
<?php
$existingUsers = ["alice", "bob", "charlie"];
$newUsername = "bob";
if (in_array($newUsername, $existingUsers)) {
echo "Username already taken!";
} else {
echo "Username available!";
}
// Đầu ra: Username already taken!
?>Hàm in_array() nhận hai tham số chính: giá trị bạn muốn tìm và mảng cần tìm. Vì hàm trả về giá trị kiểu boolean, hàm này kết hợp rất tốt với các câu lệnh điều kiện như if và vòng lặp while.
Hàm này đặc biệt hữu ích cho các tác vụ xác thực, chẳng hạn như kiểm tra xem đầu vào của người dùng có khớp với một trong các tùy chọn được phép hay không, xác minh xem một mặt hàng đã có trong giỏ hàng chưa hoặc đảm bảo không thêm các mục trùng lặp vào danh sách.
Thử thách
DễBạn sẽ nhận hai đầu vào: một mảng màu có sẵn ở định dạng JSON và tên màu cần tìm. Đọc cả hai đầu vào, chuyển chuỗi JSON thành một mảng, dùng in_array() để kiểm tra xem màu đó có trong mảng hay không, rồi in "Color available" nếu tìm thấy hoặc "Color not available" nếu không tìm thấy.
Định dạng đầu vào: Hai dòng: dòng đầu tiên chứa một mảng JSON (ví dụ: ["red","blue","green","yellow"]), dòng thứ hai chứa tên màu cần tìm
Đầu ra dự kiến: "Color available" hoặc "Color not available", tùy vào việc màu đó có trong mảng hay không
Tự làm thử
<?php
// Đọc mảng màu từ JSON
$jsonInput = fgets(STDIN);
$colors = (array)json_decode($jsonInput, true);
// Đọc màu cần tìm
$searchColor = trim(fgets(STDIN));
// TODO: Viết code bên dưới để kiểm tra xem màu có trong mảng không
// In kết quả ra
echo $result;
?>Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.
Tất cả bài học trong Logic và luồng chương trình
1Hàm nâng cao
Hàm ẩn danhClosure và 'use'Hàm mũi tênHàm callbackDùng 'call_user_func'Hàm biếnTruyền tham chiếuHàm đệ quyÔn tập: tổng hợp về hàm4Mảng đa chiều
Tạo mảng 2 chiềuTruy cập phần tử trong mảng 2 chiềuChỉnh sửa phần tử trong mảng 2 chiềuLặp qua các vòng lặp lồng nhauMảng kết hợp 2 chiềuÔn tập: bài tập lưới đơn giản2Thao tác nâng cao với mảng
Thêm phần tử bằng 'array_push'Xóa phần tử bằng 'array_pop'Thêm phần tử vào đầu mảng bằng 'array_unshift'Xóa phần tử đầu mảng bằng 'array_shift'Gộp các mảng được đánh chỉ sốGộp các mảng kết hợpTrích xuất phần tử bằng 'array_slice'Kiểm tra giá trị bằng 'in_array'Tìm khóa bằng 'array_search'Ôn tập: bài tập về danh sách phát3Sắp xếp mảng
Sắp xếp mảng có chỉ số tăng dầnSắp xếp mảng có chỉ số giảm dầnSắp xếp mảng kết hợp theo giá trịSắp xếp mảng kết hợp theo khóaSắp xếp theo thứ tự tự nhiênSắp xếp tùy chỉnh bằng 'usort'Ôn tập: Sắp xếp bảng xếp hạngTự luyện tập: Trình biên dịch PHP online