Tôi có một mảng gồm 30 giá trị và tôi cần trích xuất từ mảng này 3 giá trị ngẫu nhiên khác nhau. Tôi làm nó như thế nào?Chọn 3 giá trị ngẫu nhiên khác nhau từ một mảng
Trả lời
shamelessly bị đánh cắp từ hướng dẫn PHP:
<?php
$input = array("Neo", "Morpheus", "Trinity", "Cypher", "Tank");
$rand_keys = array_rand($input, 2);
echo $input[$rand_keys[0]] . "\n";
echo $input[$rand_keys[1]] . "\n";
?>
Lưu ý rằng, tính đến PHP 5.2.10, bạn có thể muốn để shuffle (ngẫu nhiên) các các phím được trả lại qua shuffle($rand_keys)
, nếu không chúng sẽ luôn theo thứ tự (chỉ mục nhỏ nhất trước tiên). Đó là, trong ví dụ trên, bạn có thể nhận được "Neo, Trinity" nhưng không bao giờ "Trinity, Neo".
Nếu thứ tự của các phần tử ngẫu nhiên không quan trọng, thì mã ở trên là đủ.
sử dụng shuffle($array)
sau đó array_rand($array,3)
Bất kỳ lý do cụ thể nào mà bạn đang gọi là 'shuffle'? –
chỉ để chắc chắn nó là ngẫu nhiên :) .. lịch sử đằng sau nó là một thực tế rằng năm ngoái bằng cách sử dụng array_rand tôi đã nhìn thấy kết quả không-ngẫu nhiên (các mục tương tự trên chạy liên tiếp), do đó, để làm cho nó một chút ngẫu nhiên hơn tôi sẽ trộn các mảng đầu tiên và sau đó nguồn cấp dữ liệu cho các chức năng array_rand và nó dường như cung cấp cho các giá trị ngẫu nhiên hơn. –
Bạn vẫn cần nhận được từ các khóa đến giá trị .... –
Tôi không chắc tại sao lại bận tâm sử dụng array_rand()
vì nó chỉ là một cuộc gọi hàm bổ sung cho dường như không có lý do gì. Đơn giản chỉ cần shuffle()
và cắt ba yếu tố đầu tiên:
shuffle($array);
print_r(array_slice($array, 0, 3));
Sạch hơn nhiều, đây phải là câu trả lời được chấp nhận –
- 1. Chọn giá trị ngẫu nhiên từ một Array
- 2. Nhận các giá trị ngẫu nhiên từ một mảng
- 3. Đọc các giá trị ngẫu nhiên từ một mảng
- 4. Java: chọn một vài số ngẫu nhiên khác nhau từ mảng trong một thời gian
- 5. Làm thế nào tôi có thể trả lại một giá trị ngẫu nhiên từ một mảng?
- 6. Giá trị ngẫu nhiên từ Flags enum
- 7. CSS chọn một màu ngẫu nhiên từ mảng
- 8. Trích xuất x giá trị ngẫu nhiên từ một mảng bash
- 9. Chọn phần tử ngẫu nhiên từ mảng, nhưng duy nhất
- 10. Làm cách nào để chọn một giá trị ngẫu nhiên từ một điều tra?
- 11. Cách tạo số ngẫu nhiên khác nhau?
- 12. Chọn một phần tử ngẫu nhiên từ một mảng kết hợp PHP
- 13. Làm thế nào để có được các giá trị ngẫu nhiên từ mảng trong C#
- 14. yếu tố ngẫu nhiên từ mảng chuỗi
- 15. Cách lấy giá trị ngẫu nhiên trong từ điển python
- 16. Django - Chọn một ảnh ngẫu nhiên từ mỗi Album
- 17. Chọn một phần tử ngẫu nhiên từ một tập hợp
- 18. Chọn một mục ngẫu nhiên từ một bảng
- 19. Làm cách nào để chọn 1 số ngẫu nhiên từ 2 phạm vi số khác nhau?
- 20. Tạo số ngẫu nhiên khác nhau giữa OS
- 21. C#: Mã Elegant để có được một giá trị ngẫu nhiên từ một IEnumerable
- 22. Simple PHP mảng ngẫu nhiên
- 23. Tạo một số ngẫu nhiên từ một số khác
- 24. Chọn một tập hợp con ngẫu nhiên duy nhất từ một tập hợp các giá trị duy nhất
- 25. Chọn hàng ngẫu nhiên từ bảng mysql
- 26. Chọn quả ngẫu nhiên từ MySQL
- 27. Chọn ngẫu nhiên Element of a Array Actionscript 3
- 28. chọn tệp ngẫu nhiên từ thư mục
- 29. Cập nhật bảng SQL với giá trị ngẫu nhiên từ bảng khác
- 30. Cập nhật MySQL với số ngẫu nhiên từ 1-3
thể trùng lặp của [Nhận một tập hợp con của các giá trị ngẫu nhiên từ một mảng php] (http://stackoverflow.com/questions/3504401/get-a-subset-of -random-values-from-an-array-php) – kennytm