Понятно, что возвращается количество байт. Но не понятно тогда:
1. Чем mb_strlen отличается от strlen?
2. А как правильно найти количество символов в строке юникод?
Решил для теста попробовать получить доступ к селекту через джаваскрипт без цикла и оно ничего не выдает на экран, не отображает никакого значения на экран, в чем не так?
//Присваиваем переменной селект значения всех элементов селекта первой формы
var select = m.elements.genre;
//Получаем доступ к значению первого элемента селекта, но доступ не происходит, почему?
document.write(select.options[0].value);
Еще раз. document.getElemtsByTagName('form'); возвращает массив элементов. Набери console.log(m) и все поймешь. Соответственно, обращаться к элементам надо var select = m[0].elements.genre; и var select = m[1].elements.music;
var forms = document.getElementsByTagName('form');
Возвращает массив элементов с тэгом form. Формы на странице две, поэтому элемента в массиве два. Сначала работаешь с селектом из первой формы var select = forms[0].elements.genre, потом из второй var select = forms[1].elements.music;
Include есть в файле Index.php
Сори, забыл написать. Просто чтобы не писать весь текст упростил задачу и написал суть.
Отредактировал начальное сообщение на форуме.
Попробовал. Все работает. Видимо, надо весь код смотреть.
Ну да. Но я не абетам Я не учел порядок выполнения и втупил. А в этом примере порядок не важен. Выполняется все последовательно. Т.е. принципиально было понять, почему именно тот вариант работает не так, как я ожидал. Когда прочитал название ссылки все встало на свои места Такшта еще раз спасибо (тыкнул в карму)
офигеть столько кода написать вместо 1 фции (Добавление)
MAXUS пишет:
Напечатает 1.
ичто???
есть же не пустые значения (Добавление)
возвратит фолс только если пустой массив придет
Ты, вероятно, какие-то свои задачи решаешь...
Задача в этой ветке была: "Нужно проверить, есть ли в массиве (расположенном в другом фале) число больше 0. Хоть одно."
Да и суть бинарного поиска немного неверно описана.
Не. Тут я только принцип использовал. Суть (бить пополам) как раз подходит. А вот что быстрее - это вопрос интересный. Рекурсию, в принципе, можно переделать и обойтись без нее. А вот, что быстрее, просто перебор или тот способ, что я указал... Это интересно проверить.
Хотя че там проверять?! У меня ровно то же самое и происходит Прошли первую половину и пошли дальше по третьей четверти, потом по первой половине четвертой четверти. Короче, просто перебор и получается Это я молодец Вощем, ты прав. Просто перебора достаточно. И о сути бинарного поиска я, соответственно, тоже воткнул (в смысле, догнал, в смысле осознал)...
Но идея в том, что не надо фильтр. Он пока все не переберет, не успокоится.
Ну и эта... Снимаю шляпу. Приятно, когда не зря мозг включал
Как ни странно, но я бы решение задачи для больших массивов усложнил. Дело в том, что array_filter пройдет по всему массиву, даже если значение больше 0 находится в первом же элементе. Если массив большой, то это не оптимально. Я бы проходил циклом по принципу, как при поиске обрабатываются индексы в базе данных. Т.е. бьем массив пополам и проходим по первой половине (естественно прерываем работу функции, как только нашли значение больше 0), если в первой половине не нашли, бьем пополам остаток массива и ищем в его первой половине... И так далее, пока весь не разберем. В этом случае вероятность не обрабатывать весь массив гораздо выше.
Пройдет по циклу до 4-го элемента и прервется. Можно поэкспериментировать, раскомментировав строку в цикле и изменяя начальный массив.
Добавление
Хотя первый вариант, как обычно не самый идеальный. В моем случае происходит разбиение массива при помощи array_slice, то, вероятно, тоже не оптимально. Поэтому переделал так, чтобы массив вообще не преобразовывался.