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

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

Chia sẻ
  • 117 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ẻ