- array_chunk: documentation ( source)
- pack: documentation ( source)
<?php
function createStringFromMap($map) {
$chars = array('C*');
foreach (array_chunk($map, 8) as $byte) {
$char = 0;
foreach ($byte as $position => $bit) {
$char |= ($bit << (7 - $position));
}
$chars[] = $char;
}
return call_user_func_array('pack', $chars);
}
echo createStringFromMap(array(0, 1));