Cách include ngẫu nhiên vài trang PHP trong 1 trang PHP chính?
Mình có 12 trang PHP con dùng để in những snippet ngắn: a.php, b.php, c.php, d.php.... k.php, l.php
Ví dụ, a.php
print "I like Chopin.";
Bây giờ mình muốn một trang index.php sẽ include ngẫu nhiên 2 trang (nhưng 2 trang không được trùng nhau). Ví dụ, a.php và e.php, hoặc j.php và b.php.
Làm sao để đạt được mục đích này?
2 CÂU TRẢ LỜI
Theo mình thì bạn đưa những list những trang của bạn vào một array, rồi dùng hàm array_rand
để lọc ra 2 key bất kì nào đó, rồi lấy giá trị của 2 key đó
Mình thấy cách của bạn rất ok. Để xem có thêm phương án khác nữa không. Cảm ơn.
Qua test thử nghiệm, bạn có thể sắp xếp một array
$input = array("a.php", "b.php","c.php", "d.php", "e.php");
Sau đó có thể dùng hàm array_rand hoặc shuffle.
shuffle($input);
echo $input[0];
echo $input[1];
Mình phát hiện ra có sự khác nhau nhỏ giữa 2 hàm này. array_rand sẽ cho kết quả có thứ tự, ví dụ: a.php và d.php, hoặc b.php và e.php (nghĩa là A sẽ luôn xuất hiện trước B, C, D, E...) shuffle thì ngẫu nhiên hoàn toàn vì nó thay đổi vị trí các element trong array ngay từ đầu.