«phpClub» — архив тем ("тредов"), посвящённых изучению PHP и веб-технологий.
Аноним 2021/04/23 15:28:45  №2006032 1
Блять аноны, подскажите, я уже изъебался нахуй с этого говна, есть вот такая проверка массива в цикле foreach ( $array as $key => $value )

if ( stristr( $array[$key]['title'], $_GET['search'] ) )

Условие проверяет есть ли то что написано в GET в значении в многомерном массиве, если я ввожу слово с большой буквы - то всё находит, но если с маленькой, то блять пиздец 0 совпадений, ну как нахуй так а? Я же использую stristr(), а она регистронезависимая, у меня уже мозг взрывает нахуй

Я уже и пытался привести всё в нижний регистр через mb_strtolower(), и удалить лишние символы с помощью trim(), и использовать stripos(), и preg_match(), нихуя, этот пидорас находит только те слова что совпадают с написанием в массиве, а если я меняю регистр одной из букв - то уже 0 совпадений нахуй, я блять уже горю нахуй что этому пидорасу от меня нужно, какого хуя, простоphp5.2
Ответы: >>2006075
Аноним 2021/04/23 16:02:44  №2006075 2
Ответы: >>2006120 >>2006158
Аноним 2021/04/23 16:27:36  №2006120 3
>>2006075
То есть весь этот пиздец потому что я ищу русское слово? То есть stristr не может правильно привести слово из массива в нижний регистр чтобы сравнить?

Выход это прописать mb_internal_encoding('utf-8') и использовать mb_stristr?
Ответы: >>2006180
Аноним 2021/04/23 17:37:33  №2006180 4
>>2006122

Нет, жадный алгоритм тут не сработает. Посмотри внимательно на ситуацию в >>2006112 . Там нет 100-рублевых купюр и жадный алгоритм не сможет выдать 600 рублей.

>>2006130

Грабитель пытается взять как можно больше (но не более K). Мы можем запустить алгоритм грабителя, а в конце просто посмотреть, сколько он набрал. Если это число меньше, чем требуемая сумма K, то выдать ее невозможно (иначе бы грабитель смог её собрать). Если набранное количество золота равно требуемой сумме K, то возможно.

>>2006120

Никакое количество проклятий не заставит stristr работать с utf-8. Надо переписывать на использование mb-функций.
Ответы: >>2006219
Аноним 2021/04/23 19:02:28  №2006219 5
>>2006180
Я сижу в других тредах, где к программированию на PHP принято относиться поплёвывая свысока.

Посмотрел, что за задачка здесь обсуждается. Там конкретные купюры:
есть банкомат, в нём фиксированный набор купюр в 100, 500, 1000, 5000 рублей. Нужно проверить, можно ли выдать нужную сумму, и если можно, то выдать её наименьшим количеством купюр.

Это, всё-таки, другая задача, чем задача о сборке рюкзака. И в данном частном случае сильно более простая, потому что любую купюру старшего номинала можно выдать купюрами меньших номиналов. Нет даже истории о купюрах в 200 и 500 рублей. Тут ДП даже и не нужно.

Задача о рюкзаке намного сложнее.
Ответы: >>2006316
Аноним 2021/04/23 20:59:26  №2006316 6
>>2006219
> где к программированию на PHP принято относиться поплёвывая свысока
ванильный жс хуже если тебя утешит