2010-01-28 11 views
6

Sto provando a impostare una variabile basata su una logica matematica (per avvolgere specifici elementi HTML attorno agli elementi).PHP Maths Logic

ho lavorato metà del problema, per colpire 0, 3, 6, 9, 12

if(($i % 3) == 0) { // blah } 

Ora ho bisogno di colpire i seguenti numeri, 2, 5, 8, 11, 14, ecc

Quale operazione di matematica possibile fare per eseguire questa sequenza?

risposta

7
if($i % 3 == 1) 
if($i % 3 == 2) 

Modulo restituisce il resto, in modo che quando si corrisponde il 0, si ottiene il 3 °, 6 °, 9 °, ecc, perché 0 è rimasto nella divisione.

Quindi basta controllare quando rimane 1 e rimane 2.

+0

lol, come ho visto la sequenza dopo la pubblicazione, ho pensato di aggiungerne uno a $ i ed eseguire lo stesso test. questo è ancora meglio però. grazie mille, ci ho pensato troppo a lungo. –

+1

una volta che ti senti a tuo agio con tutte le cose che il modulo può fare, diventerai un programmatore migliore. i neofiti tendono a scartarlo come "qualcosa di stravagante", mentre è in effetti un operatore essenziale. Inoltre: non hai bisogno di parens intorno all'espressione. –

2

if ((($ i-2)% 3) == 0) {// bla}

3

Insieme con la risposta di Tor Valamo si può notare il modello di (3 * $i) - 1

(3*1)-1 = 2 
(3*2)-1 = 5 
(3*3)-1 = 8 
    ... 
Problemi correlati