FanatPHP: про «бисер» я уже писал. Я перед вами его сыпать не буду. Вы это не оцените. Если мне понадобилось такую кучу комментов написать, чтобы вы поняли, о чём я говорил и о чём не говорил, то я боюсь даже представить, сколько ещё нужно написать комментов, чтобы вы совсем вникнули в тему. Предлагаю погуглить самостоятельно. Как вы раньше заметили, вытирать сопли и разжёвывать — это не круто.
FanatPHP: Да уж. Я бы не стал самый первый свой комментарий писать, если бы из вашего первого комментария не стало понятно, что вы не знаете до конца как работает empty(). Я и IceJOKER: писали о двух разных вещах. Я не знаю, почему у вас сложилось впечатление, будто бы мы с ним против вас говорили об одном и том же.
Он ведь в своём ответе не проверял, существует $numbers или нет, так? Из кода прямо видно, что он проверяет, пустая переменная или нет. Я не утверждал, что это правильный подход. Если я его не критиковал, это не значит, что я с ним согласен.
Вы первым же комментарием пишете: «зачем проверять $number через empty(), разве он может не существовать?». Получается, вы думаете, будто empty() можно использовать только для проверки существования. Кроме этого у него применений быть не может никаких. Я считаю, вы неправы и неправильно понимаете, как работает empty(). Вот эту простую мысль я до вас пытался донести. Я не пытался донести до вас мысль, что код в ответе правильный или не правильный. Не пробовали внимательнее читать мои слова? Безо всяких дополнительных смыслов, которых в них не было и которые — плод вашей фантазии.
Опять же, повторюсь, я не писал о том, что вы неправы в своей критике. Я писал о том, что вы не понимаете до конца то, как работает empty(). Только эта одна конкретная маленькая деталь. Вы не понимаете как она работает и вводите людей в заблуждение, что, мол, она только проверяет на существование переменную.
Я надеюсь, вы поймёте, что я хотел до вас донести, а то мне тоже уже хочется писать жирными буквами и капслоком. Я вам говорю, что огурцы зелёные, а вы меня обвиняете в том, что я наврал, назвав помидоры красными.
FanatPHP: Мне, если честно, тоже кажется, что дело не в том, как она «воспринимается». Дело в том, что вы невнимательно читали документацию и не знаете как работает empty(). Вы вводите людей в заблуждение. И теперь пытаетесь всеми способами увильнуть от признания этого факта. Для чего вы мне навязывали, что не нужно тявкать в тине и нужно отвечать за свои слова? Для того, чтобы вы потом начали сами увиливать?
Вам что-то мешает признаться, в том, что вы неправы? Боитесь, что станете от этого человеком второго сорта? Не станете.
FanatPHP: вы писали: «а зачем проверять $number через empty(), разве он может не существовать?». Эта фраза показывает, что вы не понимаете, как работает empty(). Не растекайтесь по теме, а то мы закончим тем, что будем спорить о том, чем спектр Солнца отличается от спектра Альфы Центавра.
FanatPHP: Если хотите доказать проблему в моей логике, сделайте голосовалку на хабре и спросите, цитирую:
Человек, который говорит «а зачем проверять $number через empty(), разве он может не существовать?», понимает, как работает empty() или нет?
Голосовалка покажет, как обычно эта фраза воспринимается. А до этого говорить, что у меня проблема с логикой — это фантазии.
Дело не в том, хамите вы мне или нет. Мне хамство не очень задевает. Но если вы хамите, имеете силы в этом признаваться, а не писать потом «я попросил».
FanatPHP: про фразу «а зачем проверять $number через empty(), разве он может не существовать?» и то, что она ваше незнание empty() показывает вы что-то ответили? Я ничего не пропустил?
FanatPHP: «попросил»? Что вы имеете ввиду под словом «попросил»? Не искажайте действительность. Вам стыдно сказать, что вы по-хамски писали «икспириминтатор, ответь мне», и теперь вы пишете «я попросил»? Вам за свои же слова настолько стыдно, что вы их искажаете? Не пишите тогда вещи, за которые вам стыдно будет — в чём проблема?
FanatPHP: фраза «а зачем проверять $number через empty(), разве он может не существовать?» говорит сама за себя. Так мог бы сказать только человек, который думает, что empty проверяет что-то на существование и больше не делает ничего.
FanatPHP: но я же уже сказал, что вы невнимательно читали документацию и не знаете как работает empty(). Мне что нужно это тысячу раз повторять что ли? Или мне какие-то особенные слова нужно для вас находить? Про особенные слова я уже сказал: «у меня нет для вас бисера» — вы его не оцените.
Oxoron: Да, про 100% — хорошая идея. Тогда сложность будет не O($len^2), а варьироваться от O($len) до O($len^2). И без массива $conformity тоже можно обойтись, да. Ещё, можно и без array_sum($temp) обойтись, кстати.
Я сейчас добавлю вариант. Но он уже немного тяжелее читается. :)