日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

php优化if语句,php - 如何在php中优化64 if else if语句 - SO中文参考 - www.soinside.com

發布時間:2024/9/30 php 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php优化if语句,php - 如何在php中优化64 if else if语句 - SO中文参考 - www.soinside.com 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

讓我們以符合邏輯的方式在數學上解決它。

我們可以看到,一個不同的恒河猴因子預示著一個男孩,一個男孩是平等的。血型方案類似。如果兩種類型都是偶數或奇數,則預測女孩,如果偶數/奇數不同,則預測男孩。有一個例外,當至少有一個血型是III或IV時,那么血型通常會預測男孩。

與通常的信息學一樣,我們對血型I-IV使用零基礎的0-3枚舉。這樣我們使用二進制數00,01,10,11,即2位。如果設置了較低位,則id號是奇數(即,甚至類型I-IV)。如果設置了第二位,我們有III或IV類型之一。

第三位(值4)我們將用來表示“恒河猴因子+”。

我們可以生成標簽,保留最后選擇的選項,如:

function blood_options($sel)

{

foreach(['O(I)', 'A(II)', 'B(III)', 'AB(IV]'] as $k => $v)

{

?>

><?php echo $v, ' Rh-'?>;

><?php echo $v, ' Rh+'?>;

}

}

一個按位XOR運算,PHP中的^運算符,表示兩個操作數的每個位的差異。我們可以用它來檢查第3位(值4,我們的Rhesus因子位)和位0(值1,偶數/奇數)。

$m = intval($_POST['groupM']); // get the numeric value

$f = intval($_POST['groupF']); // get the numeric value

$xor = $m ^ $f; // indicate bitwise differences

現在我們可以看出,血型和恒河猴因子預測了哪些性別:

$type1 = 1 & $xor ; // last bit of (m xor f) => even/odd group different

$type2 = 1 & (($m | $f)>>1); // at least one of the second bits set => there is a group 2 (III) or 3 (IV)

$type = $type1 | $type2 ; // => 1 if at least one of type1 or type2 indicates maskulinum

$rhf = 1&($xor>>2) ; // different rhesus? => 1 indicates maskulinum

$result = $type + $rhf ; // sum results in 0: 2x femininum ; 1: 1x m + 1x f ; 2: 2x maskulinum

var_dump($type1, $type2, $type,

在上面的代碼中,我們還使用SHIFT LEFT運算符>>將有效位移動到位置0(值1),并通過AND運算1 &屏蔽掉所有其他位。

在將總和計算為$result后,我們得到了

0 = 2個預測:女孩

1 =不同的預測

2 = 2個預測:男孩

Putting it all together and written in short expressions, it finally looks like that:

if(isset($_POST['groupM'], $_POST['groupF']))

{

$m = intval($_POST['groupM']);

$f = intval($_POST['groupF']);

$xor = $m ^ $f;

echo

[

"It's a girl",

"Baby's gender can not be predicted — Rh factor and blood type produce different results.",

"It's a boy"

][(1 & ((($m | $f)>>1) | $xor)) + (1&($xor>>2))];

}

The HTML generation:

function blood_options($sel)

{

foreach(['O(I)', 'A(II)', 'B(III)', 'AB(IV]'] as $k => $v)

{

?>

><?php echo $v, ' Rh-'?>;

><?php echo $v, ' Rh+'?>;

}

}

?>

Father's blood group:

Mother's blood group:

總結

以上是生活随笔為你收集整理的php优化if语句,php - 如何在php中优化64 if else if语句 - SO中文参考 - www.soinside.com的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。