Come cambiare decimale in binario e ripristinare i suoi valori di bit in un arrays?

Per esempio:

$result = func(14); 

Il $result dovrebbe essere:

 arrays(1,1,1,0) 

Come implementare questa func ?

 function func($number) { return str_split(decbin($number)); } 

decbin produrrebbe una string string binaria:

 echo decbin(14); # outputs "1110" arrays_map('intval', str_split(decbin(14))) # acomplishes the full conversion 
 <?php function int_to_bitarrays($int) { if (!is_int($int)) { throw new Exception("Not integer"); } return str_split(decbin($int)); } $result = int_to_bitarrays(14); print_r($result); 

Produzione:

 Array ( [0] => 1 [1] => 1 [2] => 1 [3] => 0 ) 

Puoi continuare a dividerlo per 2 e memorizzare il resto in senso contrario …

Numero = 14

14% 2 = 0 numero = 14/2 = 7

7% 2 = 1 numero = 7/2 = 3

3% 2 = 1 numero = 3/2 = 1

1% 2 = 1 numero = 1/2 = 0

 for($i = 4; $i > 0; $i++){ arrays[4-$i] = (int)($x / pow(2,$i); $x -= (int)($x / pow(2,$i); } 

… questo farebbe il trucco. Prima che tu potessi verificare quanto deve essere grande l'arrays e con quale valore di $ i iniziare.