我想將一段javascript轉(zhuǎn)換成php來滿足我的需要,但是如果不編寫比所需更多的代碼,我就找不到與該方法等效的方法。const digits = Array.from({ length: 50 }, () => [randomNumber(4), randomNumber(4)]).concat( Array(20).fill([1,1]));function randomNumber(limit) { return Math.floor(Math.random() * limit) + 1;}
2 回答

慕無忌1623718
TA貢獻(xiàn)1744條經(jīng)驗 獲得超4個贊
好的,您可以先使用array_fill將數(shù)組[1,1]的大小填滿。70
現(xiàn)在,您可以使用array_walk遍歷數(shù)組并檢查是否$key小于50。如果是,則生成隨機(jī)數(shù),否則可以將其保留原樣。
$arr = array_fill(0,70,[1,1]);
array_walk($arr,function(&$value,$key){
if($key < 50) list($value[0],$value[1]) = [rand(0,4),rand(0,4)];
});

烙印99
TA貢獻(xiàn)1829條經(jīng)驗 獲得超13個贊
這是使用的一種方法array_reduce。我們將所有數(shù)字從1到70的數(shù)組(使用生成range)傳遞給它,并使用該值確定是將隨機(jī)2元素數(shù)組還是固定數(shù)組添加到輸出數(shù)組:
$arr = array_reduce(range(1, 70), function ($c, $v) {
$c[] = $v <= 50 ? [rand(1, 4), rand(1,4)] : [1,1];
return $c;
}, []);
- 2 回答
- 0 關(guān)注
- 188 瀏覽
添加回答
舉報
0/150
提交
取消