3v4l.org

run code in 300+ PHP versions simultaneously
<?php $bitMask = 5; $bitMask = str_split(strrev((string)decbin((int)$bitMask))); $splited = array(); foreach($bitMask as $pos => $bit) { if (0 != $bit) { $splited[] = pow(2, $pos); //(1 << ($pos - 1)) } } var_dump($splited);

preferences:
41.64 ms | 402 KiB | 5 Q