最近一直苦惱到底該買哪個型號的 the new ipad ,最後決定寫隻 script 幫我決定:亂數跑一萬次,再根據出現最多次的選項來購買。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
<?php $max = 10000; $result = array(); for($i = 0; $i< $max; $i++) { $size = array('16GB', '32GB', '64GB'); $comm = array('wifi ','4g+wifi'); shuffle($size); shuffle($comm); $key = current($size) . ' / ' . current($comm); if(array_key_exists($key, $result)) { $result[$key]++; } else { $result[$key] = 1; } } arsort($result, SORT_NUMERIC); foreach($result as $key => $value) { $value = number_format($value / $max * 100, 1) . '%'; echo "$key - $value" . PHP_EOL; } |
64GB / wifi - 17.3% 32GB / wifi - 16.7% 16GB / 4g+wifi - 16.6% 32GB / 4g+wifi - 16.6% 16GB / wifi - 16.5% 64GB / 4g+wifi - 16.4%
就決定是 64GB / wifi 了。
沒想到你居然是用這種方法決定! 0rz
還好沒結果不是 16GB 的,後來做功課,發現大家都說 16GB 不太夠用… XD
我懷疑這跑過 n 次 XD
測試完之後,就下好離手了~
這個例子… 用
if( isset($result[$key]) ) {
…
}
會好一點點…
(嗯! 也大概就那麼一點點…)
沒錯 isset 效率的確會比較好 😀
不過我本身不用 isset 來檢測 map 的 key 是否存在 (寫作習慣問題) ,因為:
雖然在本例中,不會有上述這種狀況發生就是了 😛
That’s really awesome!!
or2