function swap(arr, a, b){
var tmp = arr[a];
arr[a] = arr[b];
arr[b] = tmp;
}
var a = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15];
swap(a,1,4);
swap(a,2,8);
swap(a,3,12);
swap(a,6,9);
swap(a,7,13);
swap(a,11,14);
var a = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15] ,tmp;
function pivot(a) {
var i, result = [];
for( i=0; i<60; i+=4) result.push(a[i%15]);
result.push(a[15]);
return result;
}
var b = pivot(a);
wall.post()
, возвращается id поста у него на стене, а id поста вы и так уже знаете. Такую механику я делал: сохраняется пользователь, id поста, и через опр. время проверяется, чтобы все еще висел на стене и содержал нужный текст – для получения пользователем награды.$ar = [0, 2, 3, 7, 8];
$maxValue = max( $ar);
if( $maxValue >= pow(2, 32)) {
return; // больше, чем влезет в один ключ в Redis
}
$maxBytes = ceil( $maxValue / 8);
$bin = str_repeat( chr(0x0), $maxBytes);
foreach($ar AS $bitNumber) {
$byteNumber = floor( $bitNumber / 8); // в каком символе строки этот бит окажется
$addon = 1 << ( 7 - $bitNumber % 8); // каков этот бит в своем байте (Redis слева направо)
$byteChar = substr( $bin, $byteNumber, 1); // получаем этот символ из нашей строки
$byteChar = chr( $addon | ord( $byteChar)); // обновляем символ очередным битом
$bin = substr_replace( $bin, $byteChar, $byteNumber, 1); // вставляем обновленный символ в строку
}
// return $bin; // строка готова для Redis'а.
// проверка
for( $i=0; $i<strlen($bin); $i++) printf( "%08b", ord(substr($bin,$i,1)));
echo PHP_EOL;
$img = 'https://scontent.cdninstagram.com/hphotos-xfa1/t51.2885-15/e15/11378546_468565866637366_80199982_n.jpg';
$localFile = fopen( $_SERVER["DOCUMENT_ROOT"] . '/' . basename($img), 'w');
$ch = curl_init( $url);
curl_setopt_array( $ch, array(
CURLOPT_FILE => $localFile,
CURLOPT_SSL_VERIFYPEER => FALSE,
CURLOPT_SSL_VERIFYHOST => FALSE,
CURLOPT_HEADER => FALSE,
CURLOPT_TIMEOUT => 10,
));
curl_exec( $ch);
fclose( $localFile);
curl_close( $ch);
ffmpeg -i daily.mp4 -filter:v "setpts=PTS/288" timelapse.mp4
ffmpeg -i %05d.jpg -c:v libx264 -r 30 -pix_fmt yuv420p timelapse.mp4