PHP: Массивы. Как в php добавить к массиву другой массив

10.07.2019

В этой главе:

Массив (array) - это переменная специального типа, хранящая много элементов данных. Маcсив позволяет обратиться отдельно к любому из составляющих его элементов (поскольку внутри массива они хранятся отдельно), а также есть возможность копировать или обрабатывать массив целиком.

Массивы PHP нетипизированы, это означает, что элементы массива могут иметь любой тип, причем разные элементы в массиве могут иметь различные типы. Помимо этого массивы PHP являются динамическими, это означает, что фиксированный размер объявлять не нужно и новые элементы можно добавлять в любое время.

Основные сведения о массивах

Чтобы работать с массивами, вам нужно освоить два новых понятия: элементы и индексы. Элементы - это значения хранящиеся в массиве, значения могут быть абсолютно любого типа. К каждому элементу можно обратиться по его уникальному индексу. В качестве индекса может использоваться целое число или строка.

Массивы можно разделить на два типа: индексные, у которых в качестве значения индекса используется только целое число и ассоциативные, где значением индекса может быть как строка так и число. Часто в ассоциативных массивах индекс называется: «ключ».

Индексные массивы обычно называют просто «массивами», а ассоциативные массивы - «хешами», «ассоциативными» или «словарями».

Создание массива

В PHP есть три способа создания массивов. Первый способ - это создание с помощью специальной функции array(). В качестве аргументов функция принимает любое количество пар ключ => значение (key => value) разделенных запятыми или просто значения, также разделяемые запятыми. Она возвращает массив, который можно присвоить переменной.

Так как указывать ключ не обязательно, значения можно добавлять в массив без его указания. Если ключ не указывается, PHP будет использовать числовые индексы. По умолчанию элементы будут нумероваться, начиная с нуля. Массивы с числовыми индексами позволяют просто добавить элемент, а PHP автоматически будет использовать предыдущее наибольшее значение ключа типа integer, увеличенное на 1.

Также можно указывать ключ для отдельных элементов:

"c", "d"); var_dump($my_array); ?>

Запустив данный пример, вы можете заметить, что последний элемент ("d") был присвоен ключу 8 . Так получилось, потому что самое большое значение ключа целого типа перед ним было 7 .

Теперь рассмотрим создание аccоциативного массива с помощью функции array(). Ассоциативный массив записывается немного по другому: для добавления элемента используется формат ключ => значение.

"30", "Февраль" => "28/29 (29 бывает каждые четыре года)", "Март" => "31", "Апрель" => "30", "Май" => "31", "Июнь" => "30", "Июль" => "31", "Август" => "31", "Сентябрь" => "30", "Октябрь" => "31", "Ноябрь" => "30", "Декабрь" => "31"); ?>

С отступами, которые вы видите в этом примере, легче добавлять элементы в массив, чем когда они записаны в одну строку.

Теперь рассмотрим второй способ создания массива: использование квадратных скобок , вместо специальной функции array():

"bar", "bar" => "foo"); // другой способ создания массива $my_array = ["foo" => "bar", "bar" => "foo"]; ?>

Разницы между этими массивами никакой нет, кроме различия в написании.

Обратите вниманием, в PHP массивы могут содержать ключи типов int и string одновременно, т.е. PHP не делает различия между индексированными и ассоциативными массивами.

"яркое", "колесо" => "круглое", 10 => "дом", -5 => 290]; ?>

Примечание: выбирая имя для массива, будьте внимательны, чтобы не использовать имя, совпадающее с именем другой переменной, так как они разделяют общее пространство имен. Создание переменной с тем же именем, что и у существующего массива, приведет к удалению массива без вывода каких-либо предупреждений.

Третий способ создания массивов будет рассмотрен в разделе «Добавление и удаление элементов массива».

Преобразование индексов

Как упоминалось в самом начале главы, ключ может быть одним из двух типов: string или integer. Поэтому ключи несоответствующие одному из этих типов будут преобразованы:

  • Если в качестве ключа выступает строка, которая содержит число, то она будет преобразована к типу integer. Однако, если число является некорректным десятичным целым, например "09", то оно не будет преобразовано в тип integer.
  • Вещественное число (float), также будет преобразовано в integer - дробная часть в этом случае отбрасывается. Например, если значение ключа 5.4, оно будет интерпретировано как 5.
  • Булев тип (bool) также будет преобразован в integer. Например, если значение ключа true, то оно будет преобразовано в 1, а ключ со значением false соответственно будет преобразован в 0.
  • Если используется тип null, он будет преобразован в пустую строку.
  • Объекты и массивы не могут быть использованы в качестве ключей.

Если в объявлении массива несколько элементов используют одинаковый ключ, то использоваться будет только последний из них, а все другие будут перезаписаны.

"a", "1" => "b", // ключи преобразуются в число 1 1.5 => "c", true => "d"); var_dump($my_array); ?>

В приведенном примере все ключи будут преобразованы в единицу, основываясь на этом, массив будет содержать всего один элемент, содержание которого будет перезаписано 3 раза, в итоге, его значением станет "d".

Доступ к элементам массива

Доступ к элементам массива осуществляется с помощью квадратных скобок в которых указывается индекс/ключ: array .

"молочный", 2 => "foo"); echo $my_array["Шоколад"], "
"; echo $my_array; ?>

Еще один способ доступа к элементам массива заключается в использовании прямого разыменования массива.

hello world! ?>

Данный пример показывает, что можно обращаться к индексу массива, возвращаемого в качестве результата вызова функции или метода.

Добавление и удаление элементов массива

Теперь, когда вы получили основные понятия о массивах, рассмотрим способы записи значений в массив. Существующий массив может быть изменен явной установкой в нем значений. Это выполняется с помощью присваивания значений массиву.

Операция присваивания значения элементу массива выглядит так же, как операция присваивания значения переменной, за исключением квадратных скобок (), которые добавляются после имени переменной массива. В квадратных скобках указывается индекс/ключ элемента. Если индекс/ключ не указан, PHP автоматически выберет наименьший незанятый числовой индекс.

"ноль", 1 => "один"); $my_arr = "два"; $my_arr = "три"; var_dump($my_arr); // присваивание без указания индекса/ключа $my_arr = "четыре"; $my_arr = "пять"; echo "
"; var_dump($my_arr); ?>

Для изменения определенного значения, нужно просто присвоить новое значение уже существующему элементу. Чтобы удалить какой-либо элемент массива с его индексом/ключом или удалить полностью сам массив, используется функция unset():

Примечание: как уже упоминалось выше, если элемент добавляется в массив без указания ключа, PHP автоматически будет использовать предыдущее наибольшее значение ключа типа integer, увеличенное на 1. Если целочисленных индексов в массиве еще нет, то ключом будет 0 (ноль).

Учтите, что наибольшее целое значение ключа не обязательно существует в массиве в данный момент , такое может быть по причине удаления элементов массива. После того как были удалены элементы, переиндексация массива не происходит. Приведем следующий пример, чтобы стало понятнее:

"; print_r($my_arr); // Добавляем элемент (обратите внимание, что новым ключом будет 3, вместо 0). $my_arr = 6; echo "
"; print_r($my_arr); // Делаем переиндексацию: $my_arr = array_values($my_arr); $my_arr = 7; echo "
"; print_r($my_arr); ?>

В этом примере использовались две новые функции, print_r() и array_values(). Функция array_values() возвращает индексированный массив (заново индексирует возвращаемый массив числовыми индексами), а функция print_r работает наподобие var_dump, но выводит массивы в более удобочитаемом виде.

Теперь мы можем рассмотреть третий способ создания массивов:

В примере был показан третий способ создания массива. Если массив $weekdays еще не был создан, то он будет создан. Однако такой вид создания массива не рекомендуется применять, так как если переменная $weekdays уже была ранее создана и содержит значение, это может привести к неожиданным результатам работы сценария.

Если у вас возникают сомнения по поводу того, является ли переменная массивом, воспользуйтесь функцией is_array . Например, проверку можно выполнить следующим образом:

"; $no = "обычная строка"; echo is_array($no) ? "Массив" : "Не массив"; ?>

Обход массива в цикле

Оператор цикла foreach осуществляет последовательный перебор всех элементов массива. Он работает только с массивами и объектами, а в случае его использования с переменными других типов или неинициализированными переменными будет сгенерирована ошибка. Есть два вида синтаксиса для данного цикла. Первый вид синтаксиса выглядит следующим образом:

Foreach ($array as $value) { инструкции }

Цикл будет перебирать заданный массив - $array (вместо $array подставляется название массива). На каждой итерации значение текущего элемента присваивается переменной $value (можно указать любое другое имя переменной). Оператор цикла foreach очень удобен, поскольку сам выполняет обход и чтение всех элементов массива, пока не будет достигнут последний. Он позволяет не держать постоянно в памяти тот факт, что индексация массивов начинается с нуля, и никогда не выходит за пределы массива, что делает конструкцию цикла очень удобной и помогает избежать распространенных ошибок. Посмотрим, как он работает на примере:

Второй вид синтаксиса foreach, выглядит так:

Foreach ($array as $key => $value) { инструкции }

При использовании данной формы синтаксиса на каждой итерации дополнительно присваивается значение текущего ключа переменной $key (можно указать любое другое имя переменной):

$value) { echo "[$key] => ", $value, "
"; } ?>

Чтобы можно было напрямую изменять элементы массива внутри цикла, нужно использовать ссылку. В этом случае значение будет присвоено по ссылке.

Примечание: Ссылка на последний элемент массива остается даже после того, как оператор foreach завершил работу. Поэтому рекомендуется удалять ее с помощью функции unset() как показано в примере выше. Давайте посмотрим что будет, если не использовать unset(): "; foreach ($numbers as &$num) { echo $num, " "; } ?> Стоит отметить следующий момент, ссылку можно использовать только если перебираемый массив является переменной. Следующий код не будет работать:

PHP поддерживает скалярные и составные типы данных. В этой статье мы обсудим один из составных типов: массивы. Массив представляет собой набор значений данных, организованных как упорядоченный набор пар ключ-значение.

В этой статье говорится о создании массива, добавлении элементов в массив. Есть много встроенных функций, которые работают с массивами в PHP, потому что массивы являются распространенными и полезными для использования. Например, если вы хотите отправить письмо на более чем один адрес электронной почты, вы можете хранить адреса электронной почты в массиве, а затем делать цикл по массиву, отправляя сообщения на адрес электронной почты, взятый из массива.

Индексированные и ассоциативные массивы

Есть два вида массивов в PHP: индексные и ассоциативные. Ключи индексированного массива — целые числа, начиная с 0. Индексированные массивы используются, когда вам требуется конкретное положение в массиве. Ассоциативные массивы ведут себя как две колонки таблицы. Первый столбец является ключом, который используется для доступа к значению (второму столбцу).

PHP внутренне хранит все массивы в качестве ассоциативных массивов, так что единственное различие между ассоциативными и индексированными массивами является то, что появляются ключи. Некоторые функции предусмотрены в основном для использования с индексированными массивами, поскольку они предполагают, что у вас ключи являются последовательными целыми числами, начиная с 0. В обоих случаях, ключи являются уникальными — то есть, вы не можете иметь два элемента с одинаковым ключом, независимо от того, является ли ключ строкой или целым числом.

В PHP массивы имеют внутренний порядок своих элементов, который не зависит от ключей и значений, и есть функции, которые можно использовать для обхода массивов на основе этого внутреннего порядка.

Определение элементов в массива

Вы можете получить доступ к конкретным значениям из массива, используя имя массива, за которым следует ключ элемента (иногда называемый индекс) в квадратных скобках:

$age["Fred"]; $shows;

Ключ может быть строкой или целым числом. Строковые значения в виде чисел (без ведущих нулей) рассматриваются, как целые числа. Таким образом, $array и $array[‘3’] ссылаются на один и тот же элемент, но $array[’03’] ссылается на другой элемент. Отрицательные числа так же могут быть использованы в качестве ключей, но они не определяют позиции с конца массива, как в Perl.

Не обязательно писать ключ в кавычках. Например, $array[‘Fred’] подобно $arrat. Тем не менее, считается хорошим стилем PHP всегда использовать кавычки. Если индекс без кавычек, то PHP использует значение константы в качестве индекса:

Define("index",5); echo $array; // вернет $array, не $array["index"];

Если вы хотите подставить в индекс число, то нужно делать так:

$age["Clone$number"]; // вернет, например $age["Clone5"];

Однако, не указывайте ключ в кавычках в следующем случае:

// неправильно print "Hello, $person["name"]"; print "Hello, $person["name"]"; // правильно print "Hello, $person";

Хранение данных в массивах

При попытке сохранения значения в массиве — автоматически будет создан массив, если он не существовал ранее, но при попытке извлечь значение из массива, который не был определен — массив не будет создан. Например:

// $addresses не определен до этого момента echo $addresses; // ничего echo $addresses; // ничего $addresses = "[email protected]"; echo $addresses; // печать "Array"

Можно использовать простое присваивание для инициализации массива в программе:

$addresses = "[email protected]"; $addresses = "[email protected]"; $addresses = "[email protected]"; // ...

Мы объявили индексный массив с целыми индексами, начиная с 0.

Ассоциативный массив:

$price["Gasket"] = 15.29; $price["Wheel"] = 75.25; $price["Tire"] = 50.00; // ...

Более простой способ инициализации массива состоит в использовании конструкции Array() , которая строит массив из ее аргументов:

$addresses = array("[email protected]", "[email protected]", "[email protected]");

Чтобы создать ассоциативный массив с помощью Array(), используйте => символ, отделяющий индексы от значений:

$price = array("Gasket" => 15.29, "Wheel" => 75.25, "Tire" => 50.00);

Обратите внимание на использование пробелов и выравнивание. Мы могли бы сгруппировать код, но это будет менее наглядно:

$price = array("Gasket"=>15.29,"Wheel"=>75.25,"Tire"=>50.00);

Чтобы создать пустой массив, нужно вызвать конструкцию Array() без аргументов:

$addresses = Array();

Вы можете указать начальную ключ в массиве, а затем список значений. Значения вводятся в массив, начиная с ключа с последующим увеличением:

$days = array(1 => "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"); // 2 is Tuesday, 3 is Wednesday, etc.

Если начальный индекс является строкой, то последующие индексы становятся целыми числами, начиная с 0. Таким образом, следующий код является, вероятно, ошибкой:

$whoops = array("Friday" => "Black", "Brown", "Green"); // same as $whoops = array("Friday" => "Black", 0 => "Brown", 1 => "Green");

Добавление нового элемента в конец массива

Чтобы вставить несколько значений в конец существующего индексированного массива, используйте синтаксис:

$family = array("Fred", "Wilma"); // $family = "Fred" $family = "Pebbles"; // $family = "Pebbles"

Эта конструкция предполагает, что индексами массива являются числа и присваивает элементу следующий доступный числовой индекс, начиная с 0. Попытка добавить элемент в ассоциативный массив почти всегда является ошибкой программиста, но PHP добавит новые элементы с числовыми индексами (начиная с 0) без выдачи предупреждения:

$person = array("name" => "Fred"); // $person["name"] = "Fred"; $person = "Wilma"; // $person = "Wilma"

На данном этапе мы закончим вступительную часть работы с массивами в PHP. Жду вас в следующей статье.

Добавление элементов в массив

Если массив существует, в него можно добавлять дополнительные элементы. Это делается напрямую с помощью оператора присваивания (знак равенства) так же, как присвоение значения строке или числу. При этом можно не зада вать ключ добавленного элемента, но в любом случае при обращении к масси ву необходимы квадратные скобки. Добавляя два новых элемента к списку $List, напишем:

$List = "pears";
$List = "tomatoes";

Если ключ не задан, каждый элемент будет добавлен к существующему мас сиву и проиндексирован следующим порядковым номером. Если мы добавим новые элементы к массиву из предыдущего раздела, элементы которого имели индексы 1, 2 и 3, то у груш (pears) будет индекс 4, а у помидоров (tomatoes) 5. Когда вы явно задаете индекс, а значение с ним уже существует, то существо вавшее в этом месте значение будет потеряно и заменено новым:

$List = "pears";
$List = "tomatoes";

Теперь значение элемента с индексом 4 «помидоры», а элемента «апельси ны» (oranges) больше нет. Я бы посоветовал не указывать ключ при добавле нии элементов в массив, если, конечно, вы не хотите специально переписать какиелибо существующие данные. Однако, если в качестве индексов исполь зуются строки, ключи нужно указывать обязательно, чтобы не потерять зна чения.

Мы попробуем добавить в массив новые элементы, переписав сценарий soups.php. Сначала распечатав исходные элементы массива, а затем исходные вместе с добавленными, мы легко увидим произошедшие изменения. Подобно тому как можно узнать длину строки (количество содержащихся в ней символов) с помощью функции strlen () , также нетрудно определить ко личество элементов в массиве с помощью функции count () :

$HowMany = count($Array);

  1. Откройте файл soups.php в текстовом редакторе.
  2. После инициализации массива с помощью функции array () добавьте сле дующую запись:
  3. $HowMany = count($Soups);
    print ("The array contains $HowMany elements.

    \n");

    Функцией count () будет определено, сколько элементов содержится в мас сиве $ Soups. Присвоив это значение переменной, его можно распечатать.

  4. Добавьте в массив три дополнительных элемента.
  5. $Soups["Thursday"] = "Chicken Noodle";
    $Soups["Friday"] = "Tomato";
    $Soups["Saturday"] = "Cream of Broccoli";
  6. Пересчитайте элементы в массиве и распечатайте это значение.
  7. $HowManyNow = count($Soups);
    print ("The array now contains $HowManyNow elements.

    \n");

  8. Сохраните сценарий (листинг 7.2), загрузите его на сервер и протестируй те в браузере (рис.).

Листинг 7.2 т Можно напрямую добавлять по одному элементу в массив, присваивая каждому элементу значение с помощью соответствующего опера тора. С помощью функции count () удастся узнать, сколько элементов содер жится в массиве.

1
2
3 Using Arrays</TITLEx/HEAD><br> 4 <BODY><br> 5 <?php<br> 6 $Soups = array(<br> 7 "Monday"=>"Clam Chowder",<br> 8 "Tuesday"=>"White Chicken Chili",<br> 9 "Wednesday"=>"Vegetarian");<br><br> 11 print ("The array contains $HowMany<br> elements.<P>\n");<br> 12 $Soups["Thursday"] = "Chicken Noodle";<br> 13 $Soups["Friday"] = "Tomato";<br> 14 $Soups["Saturday"] = "Cream of<br> Broccoli";<br> 15 $HowManyNow = count($Soups);<br> 16 print ("The array now contains<br> $HowManyNow elemente.<P>\n");<br> 17 ?><br> 18 </BODY><br> 19 </HTML> </p><p>В РНР 4.0 появилась <a href="/news/kto-luchshe-siri-ili-gugl-novye-funkcii-v-downie-prostye-sovety-po/">новая функция</a>, позволяющая добавлять один массив к другому. Эту операцию можно также назвать слиянием или сцеплением мас сивов. Функция array_merge () вызывается следующим образом:</p><p> $NewArray = array_merge ($OneArray, $TwoArray); </p><p>Вы можете переписать страницу soups.php с использованием этой функции, если работаете с сервером, на котором установлен РНР 4.0.</p> <p>Объединение двух массивов</p> <ol><li>Откройте файл soups.php в текстовом редакторе, если он еще не открыт.</li> <li>После инициализации массива $Soups сосчитайте его элементы и напеча тайте результат.</li> $HowMany = count($Soups);<br> print ("The $Soups array contains $HowMany elements.<P>\n"); <ol> Создайте второй массив, сосчитайте его элементы и также напечатайте результат. </ol> $Soups2 = array(<br> "Thursday"=>"Chicken Noodle",<br> "Friday"=>"Tomato",<br> "Saturday"=>"Cream of Broccoli");<br> $HowMany2 = count($Soups2);<br> print ("The $Soups2 array contains $HowMany2 elements.<P>\n"); <li>Объедините два массива в один.</li> $TheSoups = array_merge ($Soups, $Soups2); <p>Проследите, чтобы массивы были расположены именно в этом порядке ($Soups, потом $Soups2), то есть элементы четверга и пятницы должны быть добавлены к элементам понедельника среды, а не наоборот.</p> <li>Сосчитайте элементы нового массива и напечатайте результат.</li> $HowMany3 = count($TheSoups);<br> print ("The $TheSoups array contains<br> -$HowMany3 elements.<P>\n"); <li>Закройте РНР и HTMLдокумент.</li> ?></BODYx/HTML> <li>Сохраните файл (листинг 7.3), загрузите его на сервер и протестируйте в браузере (рис.).</li> </ol><img src='https://i0.wp.com/weblibrary.biz/bimages/php/img49.gif' height="256" width="217" loading=lazy><p>Листинг 7.3 т Функция Array_merge () явля ется новой. Это одна из нескольких дополни тельных функций РНР 4.0, предназначенная для работы с массивами. Используя массивы, мож но значительно сэкономить время.</p><p>1 <HTML><br> 2 <HEAD><br> 3 <TITLE>Using Arrays</TITLEx/HEAD><br> 4 <BODY><br> 5 <?php<br> 6 $Soups = array!<br> 7 "Monday"=>"Clam Chowder", <br> "Tuesday"=>"White Chicken Chili",<br> 8 "Wednesday"=>"Vegetarian"<br> 9);<br> 10 $HowMany = count($Soups);<br> 11 print ("The $Soups array contains $HowMany elements.<P>\n");<br> 12 $Soups2 = array(<br> 13 "Thursday"=>"Chicken Noodle",<br> 14 "Friday"=>"Tomato",<br> 15 "Saturday"=>"Cream of Broccoli"<br> 16); .<br> 17 $HowMany2 = count($Soups2);<br> 18 print ("The $Soups2 array contains $HowMany2 elements.<P>\n");<br> 19 $TbeSoupe = array_merge ($Soups, $Soups2);<br> 20 $HowMany3 = count ($TheSoups) ;<br> 21 print ("The $TheSoups array contains .$HowMany3 elements.<P>\n");<br> 22 ?> "<br> 23 </BODY><br> 24 </HTML> </p><p>Будьте внимательны при добавлении элементов в массив напрямую. Правильно это делается так: $Ar ray = "Add This"; ияи$Аггау = "Add This";, ане правильно вот так: $Аггау = " Add This";. Если вы забыли поставить скобки, то добавленное значение уничтожит существующий массив, превратив его в простую строку или число.</p> <p>В РНР 4.0 есть несколько новых функций для работы с массивами. Не все они рас смотрены в книге. Однако полная информация по этому вопросу содержится в ру ководстве по языку РНР, которое можно найти на сайте РНР. Будьте внимательны и не используйте новые функции, присущие только РНР 4.0, если на вашем серве ре работает РНР 3.x.</p> <i> </i><p><b>Дата </b>: 2010-07-09</p><p>Первым делом создадим массив. Пусть будет массив отдельных карт одной масти (пики = s). Назовем его <b>var cards </b>.</p><p>Var cards = ["8s","9s","Ts","Js","Qs"]; // 5 элементов (карт одной масти с 8 до дамы) </p><p>Как видите в нашем массиве 5 элементов, каждый из которых имеет свой уникальный индекс. Напомним еще раз, индексация элементов массива начинается с 0, не забывайте об этом, т.е. в нашем примере первый элемент массива ("8s") равен 0, последний ("Qs") равен 4.</p> <h3>Добавление элемента в конец массива</h3> <p>Зная, что в нашем массиве <b>var cards </b> всего 5 элементов и последний индекс заканчивается 4, то мы можем добавить новый элемент в массив следующим образом:</p><p>Var cards = ["8s","9s","Ts","Js","Qs"]; // 5 элементов (карт одной масти с 8 до дамы) cards = "Ks"; //добавили новый элемент в конец массива, теперь в массиве 6 элементов </p><p>Сложность такого подхода в том, что если массив содержит много элементов их подсчет может быть очень неудобным. Для таких случаев есть более простое решение - свойство массива <b>length </b>, которое определяет длину массива, т.е. количество элементов в массиве. Посмотрим пример:</p> <i>Запустить! </i> var cards = ["8s","9s","Ts","Js","Qs"]; // 5 элементов (карт одной масти с 8 до дамы) cards = "Ks"; /* добавляем новый элемент в массив с помощью свойства lenght */ for(i = 0; i <p>В 4 строке нашего кода мы добавили запись в виде <b>cards; </b>. Этот код идентичен <b>cards; </b>, так как свойство <b>length </b>, как и говорилось выше, определяет количество всех элементов в массиве. Говоря другими словами, нам не нужно считать элементы, вместо этого пишем сам массив, ставим точку и применяем ключевое слово <b>length </b>. В строке 7 мы также применяем свойство <b>length </b> - сперва определяем начало отсчета счетчика с 0, далее идет условие, в котором расписываем, если значение счетчика меньше длины массива, то увеличиваем счетчик на единицу и выполняем код в фигурных скобках (в теле цикла), где выводим элементы массива с помощью команды alert(), можно применить document.write(). Иначе говоря все выглядит так:<br> 0 меньше, чем 6? Да, меньше. Увеличиваем счетчик на 1 и выполняем код в теле цикла<br> 1 меньше, чем 6? Да, меньше. Увеличиваем счетчик на 1 и выполняем код в теле цикла<br> 2 меньше, чем 6? Да, меньше. Увеличиваем счетчик на 1 и выполняем код в теле цикла<br> .....................................................<br> 6 меньше, чем 6? Нет. Цикл прекращается.</p> <h4>Метод push()</h4> <p>Помимо способов описанных выше, еще существует метод <b>push() </b>, с помощью которого мы можем добавить в конец массива любой тип данных, и даже переменную. При этом элементов может быть сразу несколько, которые записываются через запятую в круглых скобках. Рассмотрим пример:</p> <i>Запустить! </i> var cards = ["8s","9s","Ts","Js","Qs"]; // 5 элементов (карт одной масти с 8 до дамы) cards.push("Ks","As"); /* добавляем новые элементы в массив с помощью метода push() */ for(i = 0; i <h3>Добавление элемента в начало массива</h3> <h4>Метод unshift()</h4> <p>Если вам необходимо добавить элементы в самом начале массива, используйте метод <b>unshift </b>. Он работает по тому же принципу, что и метод push().</p> <i>Запустить! </i> var cards = ["8s","9s","Ts","Js","Qs"]; // 5 элементов (карт одной масти с 8 до дамы) cards.unshift("5s","6s","7s"); /* добавляем новые элементы в массив с помощью метода unshift() */ for(i = 0; i <br style="clear:both;"> <script>document.write("<img style='display:none;' src='//counter.yadro.ru/hit;artfast_after?t44.1;r"+ escape(document.referrer)+((typeof(screen)=="undefined")?"": ";s"+screen.width+"*"+screen.height+"*"+(screen.colorDepth? screen.colorDepth:screen.pixelDepth))+";u"+escape(document.URL)+";h"+escape(document.title.substring(0,150))+ ";"+Math.random()+ "border='0' width='1' height='1' loading=lazy>");</script> </div> </div> <div class="mb40 pr"> <div style="margin-top: 30px; margin-bottom: 35px;"> </div> <div style="margin-top: 0px; margin-bottom: 0px; font-family: Arial; font-size: 15px;"> <div id="yandex_rtb_R-A-105632-3"></div> </div> </div> <style> .sh_icon a:hover { opacity: 0.6; } </style> <div class="catTitle"> <span class="fl noLinknew">Похожие статьи</span> <div class="clr"></div> </div> <ul class="medbeArticle medbeEvents js-novinki "> <li id="bx_3218110189_16277"> <div class="info" style="position:relative;"> <a href="/ip-telephony/sql-zaprosy-insert-sql-zapros-insert-into-napolnit-bazu-dannyh/" class="date">2023-08-11 00:06:59</a> </div> <a href="/ip-telephony/sql-zaprosy-insert-sql-zapros-insert-into-napolnit-bazu-dannyh/"> <div class="title"> SQL запрос INSERT INTO — наполнить базу данных информацией </div> </a> <p class="text"> Всем привет! В данной статье речь пойдет о том, как можно добавлять данные в таблицу в Microsoft SQL Server, если Вы уже хоть немного знакомы с языком T-SQL, то наверно поняли, что сейчас мы будем разговаривать об инструкции INSERT, а также о том,... </p> <a href="/category/ip-telephony/" class="catName">IP-телефония</a> <div class="clr"></div> </li> <li id="bx_3218110189_16277"> <div class="info" style="position:relative;"> <a href="/megaphone/chto-oznachaet-klavisha-esc-na-klaviature-oboznachenie-klavish-na/" class="date">2023-08-11 00:06:59</a> </div> <a href="/megaphone/chto-oznachaet-klavisha-esc-na-klaviature-oboznachenie-klavish-na/"> <div class="title"> Обозначение клавиш на клавиатуре </div> </a> <p class="text"> Привет всем читателям блога. Скажите друзья, задумывались ли вы, какой большой функционал таит в себе клавиатура? Большинство людей даже не подозревает, что с её помощью можно выполнять действия, которые могут облегчить и . Не печально ли, что... </p> <a href="/category/megaphone/" class="catName">Мегафон</a> <div class="clr"></div> </li> <li id="bx_3218110189_16277"> <div class="info" style="position:relative;"> <a href="/mobile-operators/ne-mogu-postavit-razreshenie-ekrana-kak-izmenit-razreshenie-ekrana/" class="date">2023-08-10 00:09:21</a> </div> <a href="/mobile-operators/ne-mogu-postavit-razreshenie-ekrana-kak-izmenit-razreshenie-ekrana/"> <div class="title"> Как изменить разрешение экрана </div> </a> <p class="text"> В современном мире все стремительно меняется. Фотоаппараты всех моделей, от самых дешевых «мыльниц» до профессиональных «зеркалок», умеют снимать видеоролики качества HD. Такое видео возможно и для дорогих моделей мобильных телефонов. Стандарты... </p> <a href="/category/mobile-operators/" class="catName">Мобильные операторы</a> <div class="clr"></div> </li> </ul> <div> </div> <div class="mb40 clear clearfix"> </div> </div> <div class="fr width300"> <div class="catTitle blackStyle"> <span class="fl noLink">Категории</span> <div class="clr"></div> </div> <div class="mb40"> <ul class="medbeSidebarNav"> <li> <a href="/category/mobile-operators/">Мобильные операторы</a> </li> <li> <a href="/category/news/">Новости</a> </li> <li> <a href="/category/ios/">Ios</a> </li> <li> <a href="/category/beeline/">Билайн</a> </li> <li> <a href="/category/ip-telephony/">IP-телефония</a> </li> <li> <a href="/category/android/">Android</a> </li> <li> <a href="/category/mobile-tips/">Мобильные советы</a> </li> <li> <a href="/category/mts/">Мтс</a> </li> <li> <a href="/category/megaphone/">Мегафон</a> </li> <li> <a href="/category/tele2/">Tele2</a> </li> </ul> </div> <div class="cancel-mb40"> </div> <div class="mb40 pr"> <div class="catTitle" data-click="y"> <span class="fl noLinknew">Видеоматериалы</span> <div class="frnew"></div> <div class="clr"></div> </div> <div class="medbeSidebarCarousel medbeArticle"> <ul> <li> <a href="/ip-telephony/zalipaet-kursor-myshi-na-noutbuke-pochemu-tormozit-kursor-myshi/"> <img src="/uploads/ade502898299ae9b7711b4f95a436eec.jpg" alt="Почему тормозит курсор мыши?" loading=lazy> <div class="playBg"></div> <p> Почему тормозит курсор мыши? </p> </a> <a href="/category/ip-telephony/" class="catName">IP-телефония</a> </li> <!-- /next_post --> </ul> </div> </div> <div class="cancel-mb40"> </div> <div class="mb40"> <div class="mb40"> <div class="catTitle" data-click="y"> <span class="fl noLinknew">Популярное</span> <div class="frnew"></div> <div class="clr"></div> </div> <ul class="medbeArticle sidebarEvents"> <li> <a href="/mts/wifi-rabotaet-tolko-v-bezopasnom-rezhime-ne-rabotaet-internet/"> <img src="/uploads/2ee5814dafc94176d4b45f4d2fb6fa8c.jpg" width="100px" alt="Не работает интернет в обычном режиме, но в безопасном режиме работает отлично" loading=lazy> <div class="info"> <span class="date">Мтс</span> </div> <div class="title"> Не работает интернет в обычном режиме, но в безопасном режиме работает отлично </div> <div class="clr"></div> </a> </li> <li> <a href="/megaphone/igorka---informacionnyi-resurs-express-gate-cloud-chto-eto-za-programma/"> <img src="/uploads/3749ab820767ba45fea17c9570098319.jpg" width="100px" alt="Express Gate Cloud: что это за программа, для чего она нужна и как ею пользоваться Экспресс гейт что" loading=lazy> <div class="info"> <span class="date">Мегафон</span> </div> <div class="title"> Express Gate Cloud: что это за программа, для чего она нужна и как ею пользоваться Экспресс гейт что </div> <div class="clr"></div> </a> </li> <li> <a href="/mts/oshibka-sinhronizacii-zapisnoi-knizhki-putevoditel-po/"> <img src="/uploads/f250e5be3a2f8953c1e614fc1328ae28.jpg" width="100px" alt="Путеводитель по интернету - все самое интересное в сети" loading=lazy> <div class="info"> <span class="date">Мтс</span> </div> <div class="title"> Путеводитель по интернету - все самое интересное в сети </div> <div class="clr"></div> </a> </li> </ul> </div> </div> <div class="cancel-mb40"> </div> <div class="mb40"> <div class="catTitle" data-click="y"> <span class="fl noLinknew">Новое</span> <div class="frnew"></div> <div class="clr"></div> </div> <ul class="medbeArticle clinicsCountry"> <li> <a href="/mobile-operators/makrosy-makrosy-makrosy-lineage-2-classic/"> <img src="/uploads/fb576de342cb3d2593c63672e3d739e9.jpg" width="100px" alt="Макросы Макросы lineage 2 classic" loading=lazy> <div class="title"> Макросы Макросы lineage 2 classic </div> <div class="clr"></div> </a> </li> <li> <a href="/ios/ne-mogu-prizvat-druga-v-vov-kak-obzavestis-voobrazhaemym-drugom/"> <img src="/uploads/e7519f29ddb62047aa438397349fcf13.jpg" width="100px" alt="Как обзавестись воображаемым другом" loading=lazy> <div class="title"> Как обзавестись воображаемым другом </div> <div class="clr"></div> </a> </li> <li> <a href="/news/kakaya-proshivka-na-explay-fresh-luchshe-4pda-proshivka-smartfona-explay-fresh/"> <img src="/uploads/440c7ea38da647dd87e0148cfb5dce63.jpg" width="100px" alt="Прошивка смартфона Explay Fresh" loading=lazy> <div class="title"> Прошивка смартфона Explay Fresh </div> <div class="clr"></div> </a> </li> <li> <a href="/megaphone/ne-udalos-zagruzit-resurs-temy-xiaomi-kak-ustanavlivat-temy-dlya-miui-chto-eto-za/"> <img src="/uploads/0e1c6665f03f75745da204c8e5568dbc.jpg" width="100px" alt="Как устанавливать темы для MIUI" loading=lazy> <div class="title"> Как устанавливать темы для MIUI </div> <div class="clr"></div> </a> </li> <li> <a href="/ip-telephony/mi-band-2-podklyuchenie-k-drugomu-smartfonu-chto-delat-esli-mi-band-ne-podklyuchaetsya/"> <img src="/uploads/38ccb83ecbea66f8d7238e6d2b59fc73.jpg" width="100px" alt="Что делать, если Mi Band не подключается к телефону" loading=lazy> <div class="title"> Что делать, если Mi Band не подключается к телефону </div> <div class="clr"></div> </a> </li> </ul> </div> </div> </div> <div class="clr"></div> <div class="clr mb42-"></div> </main> </div> <footer class="footer"> <div class="footerWrap"> <ul class="footNav"> <li> <a href="/category/mobile-operators/">Мобильные операторы</a> </li> <li> <a href="/category/news/">Новости</a> </li> <li> <a href="/category/ios/">Ios</a> </li> <li> <a href="/category/beeline/">Билайн</a> </li> </ul> <ul class="footNav mr0"> <li> <a href="/category/mobile-operators/">Мобильные операторы</a> </li> <li> <a href="/category/news/">Новости</a> </li> <li> <a href="/category/ios/">Ios</a> </li> <li> <a href="/category/beeline/">Билайн</a> </li> </ul> <div class="footSep"></div> <div class="fl width405"> <div class="medbeWarning" style="font-size: 10px;"> Мобильные операторы и тарифы <p></p> <br /> </div> <div style="position:absolute; top:50px; right:15px; width:300px;"> <noindex> <br /> </noindex> </div> </div> <div class="footSep"></div> <div class="fl "> <div class="copyright"> <br /> <noindex> <div id="liv"> </div> <br> </noindex></div> <div style="position:absolute; top:50px; right:15px; width:300px;"> <noindex> <br /> </noindex> </div> </div> <div id="onTop"></div> <div class="clr"></div> <div class="links"></div> <div class="clr"></div> </div> </footer> <div class="overlay"></div> <div style="display: none;" id="ajax_result"></div> <div class="modal fade" id="send_message" tabindex="-1" role="dialog" aria-labelledby="message" aria-hidden="true"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <a href="#" class="close" data-dismiss="modal" aria-hidden="true"></a> </div> <div class="modal-body"> <form action="/materials/sakharnyy-diabet/preparaty-insulina-i-insulinoterapiya/" method="POST"> <input type="hidden" name="sessid" id="sessid" value="190649912f2d5ccc3e7496471b00b5c2" /> <input name="head" type="text" placeholder="Тема" value=""> <textarea name="message" placeholder="Сообщения"></textarea> <input type="hidden" name="PARAMS_HASH" value="2d477b672b0c8e6bb03d8fa4ffc011a9"> <input type="submit" class="btn" name="submit" value="Отправить"> </form> </div> </div> </div> </div> <script type="text/javascript" data-skip-moving="true"> (function(w, d, n) { var cl = "bx-core"; var ht = d.documentElement; var htc = ht ? ht.className : undefined; if (htc === undefined || htc.indexOf(cl) !== -1) { return; } var ua = n.userAgent; if (/(iPad;)|(iPhone;)/i.test(ua)) { cl += " bx-ios"; } else if (/Android/i.test(ua)) { cl += " bx-android"; } cl += (/(ipad|iphone|android|mobile|touch)/i.test(ua) ? " bx-touch" : " bx-no-touch"); cl += w.devicePixelRatio && w.devicePixelRatio >= 2 ? " bx-retina" : " bx-no-retina"; var ieVersion = -1; if (/AppleWebKit/.test(ua)) { cl += " bx-chrome"; } else if ((ieVersion = getIeVersion()) > 0) { cl += " bx-ie bx-ie" + ieVersion; if (ieVersion > 7 && ieVersion < 10 && !isDoctype()) { cl += " bx-quirks"; } } else if (/Opera/.test(ua)) { cl += " bx-opera"; } else if (/Gecko/.test(ua)) { cl += " bx-firefox"; } if (/Macintosh/i.test(ua)) { cl += " bx-mac"; } ht.className = htc ? htc + " " + cl : cl; function isDoctype() { if (d.compatMode) { return d.compatMode == "CSS1Compat"; } return d.documentElement && d.documentElement.clientHeight; } function getIeVersion() { if (/Opera/i.test(ua) || /Webkit/i.test(ua) || /Firefox/i.test(ua) || /Chrome/i.test(ua)) { return -1; } var rv = -1; if (!!(w.MSStream) && !(w.ActiveXObject) && ("ActiveXObject" in w)) { rv = 11; } else if (!!d.documentMode && d.documentMode >= 10) { rv = 10; } else if (!!d.documentMode && d.documentMode >= 9) { rv = 9; } else if (d.attachEvent && !/Opera/.test(ua)) { rv = 8; } if (rv == -1 || rv == 8) { var re; if (n.appName == "Microsoft Internet Explorer") { re = new RegExp("MSIE ([0-9]+[\.0-9]*)"); if (re.exec(ua) != null) { rv = parseFloat(RegExp.$1); } } else if (n.appName == "Netscape") { rv = 11; re = new RegExp("Trident/.*rv:([0-9]+[\.0-9]*)"); if (re.exec(ua) != null) { rv = parseFloat(RegExp.$1); } } } return rv; } })(window, document, navigator); </script> <link href="/bitrix/cache/css/s2/medbe4_new/kernel_main/kernel_main.css?151557967426562" type="text/css" rel="stylesheet" /> <link href="/bitrix/cache/css/s2/medbe4_new/page_7b72513555721c1b5733d9b22d6efb9b/page_7b72513555721c1b5733d9b22d6efb9b.css?15155796623852" type="text/css" rel="stylesheet" /> <link href="/bitrix/cache/css/s2/medbe4_new/template_fa4e83195cbc9d75f36051d9e26d67c6/template_fa4e83195cbc9d75f36051d9e26d67c6.css?1515579660217752" type="text/css" data-template-style="true" rel="stylesheet" /> <link media="all" href="/local/templates/medbe4_new/css/responsive.css?sd" rel="stylesheet" type="text/css" /> <!--[if lt IE 9]><![endif]--> <script type="text/javascript"> if (!window.BX) window.BX = {}; if (!window.BX.message) window.BX.message = function(mess) { if (typeof mess == 'object') for (var i in mess) BX.message[i] = mess[i]; return true; }; </script> <script type="text/javascript"> (window.BX || top.BX).message({ 'JS_CORE_LOADING': 'Загрузка...', 'JS_CORE_NO_DATA': '- Нет данных -', 'JS_CORE_WINDOW_CLOSE': 'Закрыть', 'JS_CORE_WINDOW_EXPAND': 'Развернуть', 'JS_CORE_WINDOW_NARROW': 'Свернуть в окно', 'JS_CORE_WINDOW_SAVE': 'Сохранить', 'JS_CORE_WINDOW_CANCEL': 'Отменить', 'JS_CORE_WINDOW_CONTINUE': 'Продолжить', 'JS_CORE_H': 'ч', 'JS_CORE_M': 'м', 'JS_CORE_S': 'с', 'JSADM_AI_HIDE_EXTRA': 'Скрыть лишние', 'JSADM_AI_ALL_NOTIF': 'Показать все', 'JSADM_AUTH_REQ': 'Требуется авторизация!', 'JS_CORE_WINDOW_AUTH': 'Войти', 'JS_CORE_IMAGE_FULL': 'Полный размер' }); </script> <script type="text/javascript"> (window.BX || top.BX).message({ 'LANGUAGE_ID': 'ru', 'FORMAT_DATE': 'DD.MM.YYYY', 'FORMAT_DATETIME': 'DD.MM.YYYY HH:MI:SS', 'COOKIE_PREFIX': 'BITRIX_SM', 'SERVER_TZ_OFFSET': '3600', 'SITE_ID': 's2', 'SITE_DIR': '/', 'USER_ID': '', 'SERVER_TIME': '1515581305', 'USER_TZ_OFFSET': '0', 'USER_TZ_AUTO': 'Y', 'bitrix_sessid': '190649912f2d5ccc3e7496471b00b5c2' }); </script> <script type="text/javascript" src="/bitrix/cache/js/s2/medbe4_new/kernel_main/kernel_main.js?1515579673298080"></script> <script type="text/javascript" src="/bitrix/js/main/core/core_db.min.js?14979660558699"></script> <script type="text/javascript" src="/bitrix/js/main/core/core_frame_cache.min.js?146900780711191"></script> <script type="text/javascript"> BX.setJSList(['/bitrix/js/main/core/core.js', '/bitrix/js/main/core/core_ajax.js', '/bitrix/js/main/json/json2.min.js', '/bitrix/js/main/core/core_ls.js', '/bitrix/js/main/core/core_fx.js', '/bitrix/js/main/core/core_popup.js', '/bitrix/js/main/session.js', '/bitrix/js/main/core/core_window.js', '/bitrix/js/main/core/core_date.js', '/bitrix/js/main/utils.js', '/local/templates/medbe4_new/js/jquery.js', '/local/templates/medbe4_new/js/jquery.jcarousel.min.js', '/local/templates/medbe4_new/js/jquery.formstyler.min.js', '/local/templates/medbe4_new/js/jquery.mCustomScrollbar.concat.min.js', '/local/templates/medbe4_new/js/modals.js', '/local/templates/medbe4_new/js/tabs.js', '/local/templates/medbe4_new/js/ontop.js', '/local/templates/medbe4_new/js/placeholder.min.js', '/media/js/scrollbar/jquery.mCustomScrollbar.concat.min.js', '/media/js/header.js', '/local/templates/medbe4_new/js/scripts.js', '/feedback/twin.js']); </script> <script> BX.ready(function() { $("[data-preload]").each(function(i, el) { $this = $(el); $this.load($this.data("preload"), function() { $this.find("form").addClass("js-form") }); }); $(document).on({ submit: function() { $this = $(this); var action = $this.attr("action"); var data = $this.serialize() + "&web_form_submit=Y"; $.post(action, data, function(data) { $this.closest("div").html(data); }) return false; } }, ".js-form"); }) </script> <script type="text/javascript" src="/bitrix/cache/js/s2/medbe4_new/template_a5d224f830c08eebc70bc5559ca1712e/template_a5d224f830c08eebc70bc5559ca1712e.js?1515579660221230"></script> <script> $(function() { if ('jcarousel' in $) { $('.medbeCarousel').jcarousel({ // Configuration goes here }); $('.medbeCarousel-prev').jcarouselControl({ target: '-=1' }); $('.medbeCarousel-next').jcarouselControl({ target: '+=1' }); $('.medbeSidebarCarousel').jcarousel({ // Configuration goes here }); $('.medbeSidebarCarousel-prev').jcarouselControl({ target: '-=1' }); $('.medbeSidebarCarousel-next').jcarouselControl({ target: '+=1' }); $(window).on("load resize", function() { var w = this.innerWidth; if ($('.medbeCarousel').hasClass('halfWidthCarousel')) { if (w > 1279) { c = 771; } else { c = 377; } } else { if (w > 1279) { c = 1160; } else { c = 780; } } $('.medbeCarousel').css('width', c + 'px'); }); } }); // Script (Fixed menu) // $(window).on("scroll load", function(){ // var w2 = this.innerWidth; // var top = $(window).scrollTop(); // if (top > 120) $('.mainNav > ul').css({ // 'max-width': '100%', // 'position': 'fixed', // 'top': 0 // } ); // else { // $('.mainNav > ul').css({ // 'position': 'relative', // 'max-width': 1280 // } ); // } // } ); jQuery(window).scroll(function() { topMain(); // on scroll }); topMain(); // on load window.topNavSmall = false; function topMain() { var _scrollTop = jQuery(document).scrollTop(); if (_scrollTop > 0) { jQuery('.mainNav').addClass('fixed'); window.topNavSmall = true; } if (window.topNavSmall === true && _scrollTop < 2) { jQuery('.mainNav').removeClass('fixed'); } } </script> <script> </script> <script> (function($) { $(function() { $('#pc_add_photo').styler({ filePlaceholder: 'Добавить фото перед статьей' }); $('input, select').styler(); }) })(jQuery) </script> <script> (function($) { $(window).load(function() { if ('mCustomScrollbar' in $) $(".medbeScrollBlock").mCustomScrollbar(); }); })(jQuery); </script> <script> $(document).ready(function() { $("#sorting_catalog").change(function() { $("#form_for_sorting_catalog").submit(); }); }); </script> <script> $(document).ready(function() { $('.catTitle').click(function() { if ($(this).data("click") != "y") { $(this).parents('.doctorMat').toggleClass('hidden'); return false } }); }); </script> <script> $(document).ready(function() { $('input, textarea').on('focus blur', function() { var placeholder = $(this).attr('placeholder'); if ($(this).val() == placeholder) { $(this).val(''); } else if ($(this).val() == '') { $(this).val(placeholder); }; }); }); </script> <script> $(document).ready(function() { //Placeholder $('input[placeholder], textarea[placeholder]').placeholder(); }); </script> <script type="text/javascript"> function slyLink() { var istS = 'Источник:'; var copyR = '© tarifox.ru'; var body_element = document.getElementsByTagName('body')[0]; var choose; choose = window.getSelection(); var myLink = document.location.href; var authorLink = "<br /><br />" + istS + ' ' + "<a href='" + myLink + "'>" + myLink + "</a><br />" + copyR; var copytext = choose + authorLink; var addDiv = document.createElement('div'); addDiv.style.position = 'absolute'; addDiv.style.left = '-99999px'; body_element.appendChild(addDiv); addDiv.innerHTML = copytext; choose.selectAllChildren(addDiv); window.setTimeout(function() { body_element.removeChild(addDiv); }, 0); } document.oncopy = slyLink; </script> <script> $(function() { /*$(document).on("click", ".js-open-menu-a", function(){ $("#mainNav").slideToggle(200); } );*/ /* $(document).on({ click: function(){ $(this).siblings("nav").slideToggle(200); } , /!*touchend: function(){ $(this).siblings("nav").slideToggle(200); } *!/ } ,".js-open-menu");*/ }); </script> <script> var busy = false; $(function() { $("#infinity-next-page").addClass("btn").addClass("btn-blue"); $(document).on({ click: function() { if (busy) return false; console.log("1"); $("#nextWrap").find("a").css("opacity", 0.5); busy = true; $.post($(this).attr("href") + "&ajaxNovinki=Y", function(data) { busy = false $(".js-novinki").html($(".js-novinki").html() + data.html); $("#nextWrap").html(data.next); $("#infinity-next-page").addClass("btn").addClass("btn-blue"); //else $("#nextWrap").hide(); }, "json"); return false; } }, "#infinity-next-page"); }); </script> <script> $(document).ready(function() { $("#headfbwin, #feed").click(function() { $(".quest_form").show(); $('input, select').styler(); dh = $(document).height() + "; " + $(".quest_form").height(); h = ($(document).height() / 2) * -1; $(".quest_form").css("bottom", h + "px"); $(".overlay").show(); $(".q_form_close").click(function() { $(".quest_form").hide(); $(".overlay").hide(); }); $(".close2").click(function() { $(".oki").hide(); $(".overlay").hide(); }); $(".overlay").click(function() { $(".quest_form").hide(); $(".oki").hide(); $(".overlay").hide(); }); }); }); </script> <script> function selectHandler() { var $menu = $('.news-categories__list'); var $current = $('.news-categories__current'); var width = 0; if ($menu.outerWidth() > $current.outerWidth()) { $current.width($menu.outerWidth()); $menu.width($menu.outerWidth()); } $('.news-categories__current').click(function() { $menu.toggleClass('active'); }); $('body').click(function(e) { var $target = $(e.target); if (!$target.parents('.news-categories').length) $menu.removeClass('active'); }); $('.news-categories__list > ul').mCustomScrollbar({ theme: 'rounded', scrollInertia: 200 }); $('ul.tabs').delegate('li:not(.current)', 'click', function() { $(this).addClass('current').siblings().removeClass('current') .parents('div.section').find('div.box').hide().eq($(this).index()).fadeIn(150); }) } if (window.frameCacheVars !== undefined) { BX.addCustomEvent("onFrameDataReceived", function(json) { selectHandler(); }); } else { BX.ready(function() { selectHandler(); }); } </script> <script async src="/js/html5.js"></script> <script src="/local/templates/medbe4_new/components/bitrix/form.result.new/free_cons/_script.js?dsss" type="text/javascript"></script> </body> </html><script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script>