php扑克牌排序,PHP实现判断扑克牌5张连续
// 思路
//先給數(shù)組排序、檢查數(shù)組中是否有2個(gè)值相等的,如果有則直接不是;
//判斷數(shù)組中 0 的個(gè)數(shù) 數(shù)組中兩個(gè)值之間比較的差值相加 <= 0的個(gè)數(shù),否則補(bǔ)數(shù)不夠
$arr = array(1, 0, 0, 1, 0);
if(count($arr) < 5) {
echo ‘a(chǎn)rr not five’;exit;
}
// 先進(jìn)行排序
sort($arr);
$zeronum = 0;
//判斷數(shù)組中是否有2個(gè)值相等的
for ($i=0; $i {
// 最后一個(gè)不做比較,否則數(shù)組溢出
if($i>=4) {
continue;
}
if($arr[$i] == $arr[$i + 1] && $arr[$i] >0 ) {
echo ‘has equal value’;exit;
}
// 統(tǒng)計(jì) 0 的個(gè)數(shù) – 這個(gè)是可以補(bǔ)數(shù)組中空缺的數(shù)組
if($arr[$i] == 0) {
$zeronum ++ ;
}
}
// 非0數(shù)字直接需要補(bǔ)的數(shù)值 有 幾個(gè) 比如 0 0 1 3 4
// 需要補(bǔ)充的是 1 3 之間的 一個(gè) 2
$totaldfval = 0;
// 循環(huán)數(shù)組比較里面的差值
for ($j=$zeronum; $j // 比較 2個(gè)值 之間是否是連續(xù)的,如果是連續(xù)的 則 數(shù)據(jù)相減 等于0
if($j>=4) {
continue;
}
$diffval = $arr[$j + 1] - $arr[$j] - 1;
$totaldfval += $diffval;
}
if($totaldfval > $zeronum) {
echo ‘num not lx’;exit();
}
echo ‘num lx’;
exit;
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的php扑克牌排序,PHP实现判断扑克牌5张连续的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php e error,E_ERROR定
- 下一篇: php session 封装类,PHP封