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.