Как изменить десятичный на двоичный и восстановить его битовые значения в массив?

Например:

$result = func(14); 

Результат $result должен быть:

 array(1,1,1,0) 

Как реализовать эту func ?

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

    decbin создаст строку двоичной строки:

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

    Вывод:

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

    Вы можете продолжить разделение на 2 и сохранить остаток в обратном направлении …

    число = 14

    14% 2 = 0 число = 14/2 = 7

    7% 2 = 1 число = 7/2 = 3

    3% 2 = 1 число = 3/2 = 1

    1% 2 = 1 число = 1/2 = 0

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

    … это сделало бы трюк. До этого вы могли проверить, насколько большой должен быть массив и с каким значением $ i запускаться.