我試圖將3個不同類的對象插入到數組中,例如數組看起來像這樣[objA,.., objA, objB,.., objB, objC,..., objC]
。 我有我的功能設置的方式是獲取每個objA,objB和objC插入到數組中的次數的rand,然後有3個for循環插入每個對象。將多個對象插入到數組中
$no_of_objA = rand(5, 10);
$no_of_objB = rand(1, 5);
$no_of_objC = rand(3, 8);
for($i = 0; $i < $no_of_objA; $i++)
$this->users[$i] = new A();
for($i = $no_of_objA; $i < ($no_of_objA + $no_of_objB); $i++)
$this->users[$i] = new B();
for($i = ($no_of_objA + $no_of_objB); $i < ($no_of_objA + $no_of_objB + $no_of_objC); $i++)
$this->users[$i] = new C();
最糟糕的情況是,這顯然是從rand函數生成的最大數目的Big-O。 這工作得很好,但是,我有種想法可能會有一個更優雅和優化的解決方案來實現這一點。
我不是真的對象被插入的順序有關...
如果任何人知道OP就是免費餅乾做 – 2016-07-06 03:21:11
我不會得到一個免費的cookie .... – Rasclatt
@Rasclatt我可以賣ya嗎? :) – 2016-07-06 03:23:27