-2

我有两个数组,一个包含用户信息,另一个包含关于我不想被选中的第一个数组中的用户的 id。

我想从第一个数组中插入不在第二个数组中的新数组数据。

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 秒导致脚本停止,则此方法有效。可能是什么问题?

4

1 回答 1

0

与其尝试跟踪已从 array1 中随机选择的索引,不如在选择后从数组中删除该项目。如果您需要保持原始数组不变,请先复制它。

于 2013-01-22T19:47:57.640 回答