我有兩個數組,一個包含用戶信息,另一個包含關於不想被選中的第一個數組的用戶的id。我想從第一個不在第二個數組中的數組中插入新數組。PHP array_push導致腳本停止
while (count($new_array) < 50)
{
$index = array_rand($array_1);
if (! in_array($array_1[$index]['id'], $array_2))
{
array_push($new_array, $array_1[$index]);
array_push($array_2, $array_1[$index]['id']);
}
}
當從$ array_1中選擇數據時,我將它們插入到$ array_2中以便不再次被選中。如果while循環的運行時間不超過12次,但運行時間超過30秒會導致腳本停止,這將起作用。 有什麼問題?
爲什麼array_rand()?如果您試圖將數組與數組合並在一起,那麼循環遍歷整個數組通常是一個好主意,而不是隨機選取位並檢查它們是否已經存在。 –
我不想合併數組,我從數組中選取隨機優勝者並將它們保存在另一個數組中。但我不想多次選擇同一個人 –
那麼只需使用array_shuffle()並獲取第一個'n'條目呢?比你的循環+重複檢查簡單得多。 –