$d = array('test-site', 'ru');
$e = array('ST-214E2210-33FE865E-EC05E9A3', 'ST-204C2010-3DEFEFBE-C30E1243', 'ST-214E4000-3D4F3356-E2BCEEBB');
do {
$b = implode('.', $d); // склеили, получили "test_site.ru"
foreach ($e as $sKey){ // перебираем ключи
$a = explode('-', $sKey) + array(0, 0, 0, 0); // разбили по дефису в массив,
// убедились, что в массиве как минимум 4 элемента (если меньше, допис. нулями)
!( // логическое отрицание того, что в скобках
Core::convert64b32( // из 64 бит в 32
Core::convert64b32(
hexdec($a[3]) // последний фрагмент ключа перевели из 16-ричного в 10-е число
)
^ // ксор, побитовое исключающее ИЛИ
abs(Core::crc32($b)) // 32-битное число, хэш из адреса сайта
)
^ // XOR см. выше
~( // побитовое отрицание
Core::convert64b32(
Core_Array::get( // тут из конфига получают значение "hostcms"
Core::$config->get('core_hostcms'),
'hostcms'
)
)
& // побитовое И
abs(Core::crc32($b))
^
Core::convert64b32(
hexdec($a[2]) // предпоследний фрагмент из ключа, как число
)
)
)
&& // только если выше в скобках получился 0, выполнится следующая строка
Core::$url['key'] = $sKey;
}
array_shift($d);
} while(count($d) > 1);
$a = explode('-', $sKey) + array(0, 0, 0, 0);
sh()
переопределяете для каждой статьи заново – остаётся последний вариант.display:none
У вас это text__podzigilovol
. id
управляемой статьи в data-атрибуте: data-id="info-2"
– так кнопка будет «знать», кем она управляет.javascript:...
, вместо этого лучше на них повесить слушателя события клика. Удобно дать всем кнопкам определённый класс, по нему их отыскать и в цикле повесить слушателя события.this
кликнутую ссылку. Из неё берёт data-атрибут с id
нужного блока. И включает/выключает ему класс, который прячет этот блок.function sh(event) {
const className = "text__podzigilovol";
event.preventDefault();
obj = document.getElementById(this.dataset.id);
if(!obj) return;
if( obj.classList.contains(className)) {
obj.classList.remove(className);
} else {
obj.classList.add(className);
}
}
Array.prototype.forEach.call(
document.querySelectorAll('.js-btn-readmore'),
function(e){
e.addEventListener('click', sh);
}
);
"cloo"
два значения ["cool", "looc"]
, а для остальных по одному.<?php
$data = [
"cool" => [0 => "c", 1 => "o", 2 => "o", 3 => "l"],
"looc" => [0 => "l", 1 => "o", 2 => "o", 3 => "c"],
"test" => [0 => "t", 1 => "e", 2 => "s", 3 => "t"],
"set" => [0 => "s", 1 => "e", 2 => "t"],
"get" => [0 => "g", 1 => "e", 2 => "t"]
];
$groups = [];
foreach( $data AS $k => $v) {
sort($v);
$hash = implode('', $v);
if(!isset($groups[$hash])) $groups[$hash] = [];
array_push($groups[$hash], $k);
}
$result = array_values($groups);
print_r($result);
/*
Array(
[0] => Array
(
[0] => cool
[1] => looc
)
[1] => Array
(
[0] => test
)
[2] => Array
(
[0] => set
)
[3] => Array
(
[0] => get
)
)
*/
.length
– вероятно, собирались перебирать i от 0 до длины строки arr1
. Тут не массивы, а две строки.for (i=0; i<arr1.length; i++) {
for (j=0; j<arr2.length; j++){
i
букву, достаточно взять i-й элемент строки arr2
:arr2[ i ];
var arr1 = '3649824598';
var arr2 ='АБВГДЕЖЗИК';
arr1.split('').map(n => arr2[n]).join('') // ГЖДКИВДЕКИ
split('')
сделает из строки массив цифр;map()
применит к каждой цифре функцию, которая заменит цифру на соотв. букву из arr2
;join('')
склеит элементы массива (теперь уже буквы) в одну строку.модуляция сигнала - фазовая. На один бит отводится один период. Смена фазы колебаний означает смену логического состояния от 0 к 1 или наоборот
01100010
, это заняло бы 8 периодов, т.е. 8/10000-х секунды, и фаза поменялась бы 4 раза. Если я буду использовать VK API для получения ID, ФИО и картинки пользователя, то мне надо их хранить у себя в базе, чтобы этот пользователь мог использовать сервис?Нет. Храните только ID. Для отображения данных по пользователю запрашивайте картинку и ФИО динамически из интерфейса, прямо из браузера посетителя.
Смогу ли они найти друг друга через поиск по сайту, если данные, полученные через VK API не хранить на сайте?Смотря, по каким признакам искать. По «направлениям деятельности» – смогут. Получат набор id ВК, отобразят их аватарки, ФИО и ссылки на профили.
id, id-vk, id_naprav
(или можно обойтись двумя колонками, без просто-id, объявив primary index двухколоночным).id_naprav
один из списка. Собрали id_vk
, удовлетворяющие критерию. Отдали в интерфейс. Там запросили из ВК по этим id аватарки и ФИО, показали. <script type="text/js-worker">
var myVar = 'Hello World!';
// остальной код web-worker'а
</script>
<!-- ... -->
<script type="text/javascript">
var blob = new Blob(Array.prototype.map.call(document.querySelectorAll('script[type=\'text\/js-worker\']'), function (oScript) { return oScript.textContent; }),{type: 'text/javascript'});
// Creating a new document.worker property containing all our "text/js-worker" scripts.
document.worker = new Worker(window.URL.createObjectURL(blob));
ffmpeg -i "VHS-01.mpg" -c:v libx264 -c:a copy "VHS-01.mp4"
// VHS-01.mpg – название вашего видео файла.
getConversations()
("v" и "s" местами поменять) Promise.all([ P1, P2 ]);
– после выполнения обоих обещаний можно вызывать функцию.// псевдокод
var docA, docB;
Pa = asyncload("url-A"); // ф-я возвращает промис
Pb = asyncload("url-B");
Promise.all([ Pa, Pb ]).then( docA.b_is_ready() );
// метод объекта docA "b_is_ready" вызывает функцию в документе B