淺談php 取餘

Chuzilun發表於2021-04-04

相信各位其實對php取餘應該沒有什麼問題了,不過其實對於初學者來說,取餘這個運算子還是有難度的。在我當時剛學程式設計的時候,一直想不明白取餘到底是什麼,為什麼9%3結果為0,而9%2結果卻是1呢。其實之所以一開始想不明白就是懶。。。。多看幾個式子就明白了。

不過今天之所以發一篇關於php取餘的文章,是因為有個同學問我,(-9)%3和9%(-3)相等嗎,一眼就能看出來相等,不過其實也有人會有疑惑,為什麼?前面是9是負的,後面是3是負的,按理說結果應該不一樣啊,但是實際上這個題的點就在這裡了,就是讓你關注正負而不去關注結果,我們想一下0有負數嗎?有人寫0寫成-0麼?
不過其實我當時並沒有這麼說,我說的是這種題最好做了,只需要把不會的程式碼放進編譯器裡,然後執行一下檢視結果即可。。。。
後面想了一下,這樣有點過分了,所以準備詳細說一下,其實也詳細不到哪去。
其實取餘,就是算前面的數除後面的數,剩下的餘數。比如說9%2就是1,而9%3是0,這都是根據9/3,9/2來算的。然後我們來看一下正負,這個就跟9/3,9/2不太一樣了,雖然結果是一樣的,但是關於正負是不一樣的。
正數%(不管正負)=正
負數%(不管正負)=負

這個正負主要是看被取餘數的正負,跟後面的沒啥關係。
可以簡單的看一下程式碼:
<?php echo ‘(-9)’.’%2=’.(-9)%2; echo “
“; echo ‘9’.’%2=’.(9)%2; echo “
“; echo ‘9’.’%(-2)=’.(9)%(-2); echo “
“; echo ‘(-9)’.’%(-2)=’.(-9)%(-2);
輸出 結果 肯定跟我們前面的一樣啦,要不我在寫文章的時候就會改了,嘿嘿。

其實初學者應該會有疑惑,但是如果已經學了好久的人應該是沒有什麼問題的,不過有問題看了上面的內容也應該沒有問題了。

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章