Yêu cầu thg 10 22, 2020 6:54 SA 110 0 2
  • 110 0 2
0

Cách include ngẫu nhiên vài trang PHP trong 1 trang PHP chính?

Chia sẻ
  • 110 0 2

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


Đã trả lời thg 10 22, 2020 7:00 SA
Đã được chấp nhận
+4

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 đó

Chia sẻ
Avatar Dr Dokkan @dokkan7
thg 10 22, 2020 7:02 SA

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.

Đã trả lời thg 10 24, 2020 3:42 SA
0

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.

Chia sẻ
Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí