我想隨機化一部分對象數組。就像我有一個10個元素的數組,我想按隨機順序排序前5個條目,其他/最後5個條目將完全相同。有沒有簡單/有效的方法來做到這一點是PHP?謝謝。隨機化PHP對象數組的一部分
回答
$array = array_pad(array(), 10, ""); // 10 elements
$first = array_slice($array, 0, 5);
shuffle($first); // can't shuffle inline so do it like this
$array = array_merge($first, array_slice($array, 5, 5))
你對'array_rand()'的使用不正確。你的意思是,'shuffle()'或傳遞第二個參數。 –
我以爲'array_rand'做了'shuffle'。 PHP函數的命名很有趣。 'array_rand',即使是第二個參數,也不返回值,它總是返回鍵。 – Halcyon
順便說一下'array_rand'也可以使用。我認爲你以前的版本也可行 –
你可以拆分,然後洗一個,然後合併它們。
$myArr = ['a', 'b', 'c', 'd', 'e', 'f'];
$randArr = array_slice($myArr, 0, 3);
shuffle($randArr);
$staticArr = array_slice($myArr, 3);
$finalArr = array_merge($randArr, $staticArr);
請注意,shuffle不會返回數組 - 就像sort()它通過引用接受變量,然後在成功時返回true或在失敗時返回false。 – ChicagoRedSox
很好的答案。歡迎來到StackOverflow! – RichardTowers
- 1. 部分隨機化的PHP數組
- 2. 分配隨機數到對象數組
- 3. PHP隨機化一個數組
- 4. 隨機化並將對象拆分爲2個數組
- 5. 隨機化一個數組
- 6. 隨機化陣列的一部分
- 7. 如何隨機化一個數組而不重複對象?
- 8. 分組隨機序列爲對象
- 9. 分配隨機background.color對象隨機ID
- 10. 隨機化對象位置
- 11. 從對象數組中選擇一個隨機對象
- 12. 顯示和隨機化PHP數組
- 13. JavaScript - 將數組拆分爲具有隨機數的對象
- 14. JavaScript - 在對象內部混洗對象(隨機化)
- 15. PHP數組隨機
- 16. 如何一組對象數組,轉化爲分組對象
- 17. 從數組中獲取隨機對象
- 18. 將3個對象組合成一個並隨機化
- 19. PHP的隨機與數組
- 20. 隨機化一個雙精度的小數部分
- 21. 組的隨機化
- 22. 隨機「搖動」一個數組來分配新的隨機點
- 23. Javascript-隨機化一組函數
- 24. 如何隨機化一組數字
- 25. 隨機化數組元素
- 26. 隨機化/修改數組
- 27. 從數組獲取不同ID對象的隨機對象C#
- 28. 創建一個二維數組,可以隨機化java中的對象
- 29. 隨機化動畫對象的位置
- 30. 序列化對象的一部分,JSON
向我們展示迷死您試圖代碼 – dbf
對不起,沒有array_shuffle,'shuffle' –
沒有一個單一的功能。但是,您可以組合一些PHP數組函數。 [你嘗試過什麼?](http://mattgemmell.com/2008/12/08/what-have-you-tried/) –