«phpClub» — архив тем ("тредов"), посвящённых изучению PHP и веб-технологий.
Аноним 2017/04/18 16:16:39  №975617 1
Можете помочь по CSS? А то я что-то не понимаю.
Есть такое
<div class = words><div class = italic>n: </div>{{noun}}</div>
Фишка в том, что если {{noun}} пустой, то весь класс words не должен отображаться, если же в {{noun}} будет слово или буква, то должно показаться, типа:
n: test

Ответы: >>975655
Аноним 2017/04/18 17:27:04  №975655 2
>>975617
{% if noun is not null %}
{% endif %}
Ответы: >>975662
Аноним 2017/04/18 17:32:18  №975662 3
Ответы: >>975663
Аноним 2017/04/18 17:32:55  №975663 4
>>975662
А тебе куда надо?
Ответы: >>975666
Аноним 2017/04/18 17:37:58  №975666 5
Untitled.png (26, 959x1157)
1157x959
>>975663
Делаю свои карты в программе Анки, и хочу так сделать, что если я не напишу ничего в поле, то оно не отображалось бы - пик.
Ответы: >>975681 >>976099
Аноним 2017/04/18 17:53:05  №975681 6
>>975666
Лол.
Тогда никак, если там нельзя java script.
Аноним 2017/04/19 01:22:49  №976099 7
>>975666

В CSS есть псевдокласс :empty - https://developer.mozilla.org/ru/docs/Web/CSS/:empty - может можно его задействовать.

Только наверно HTML придется переделать, например добавлять префикс n: через псевдоэлемент ::before.

>>975668

В твоем случае проще всего написать функцию, которая получает на вход массив с данными и выдает на выходе либо кусок SQL кода с экранированными данными через $pdo->quote(), либо кусок SQL кода с плейсхолдерами и массив значений плейсхолдеров.

Попробуй посмотреть как в Doctrine DBAL сделано:

док-я: http://docs.doctrine-project.org/projects/doctrine-dbal/en/latest/reference/data-retrieval-and-manipulation.html#insert
код: https://github.com/doctrine/dbal/blob/master/lib/Doctrine/DBAL/Connection.php#L680

Важно написать код так, чтобы SQL-инъекция (подмена запроса) была невозможна, чтобы при любых входных данных вид запроса соответствовал задуманному.

А в общем, для построения произвольных запросов из кусков есть паттерн Query Builder: http://docs.doctrine-project.org/projects/doctrine-dbal/en/latest/reference/query-builder.html

>>975591

Может какое-нибудь кеширование не включено?

>>975525

Тесты с вопросами на знание той или иной технологии.

>>975278

Как ты собрался писать на PHP без знания PHP?

>>975196

Я им писал пару месяцев назад, недавно ответили, что проверят, в чем проблема.

>>975191

mb-функций нет на ideone, есть на 3v4l.org
Ответы: >>976183 >>977933
Аноним 2017/04/19 10:12:49  №976183 8
>>976099
> кеширование не включено?
Включено, включено. Я же понимаю все. Но вообще он реально тяжелый, та же юи в 3 раза быстрее летает (а у юйки весьма средняя скорость по больнице я бы сказал). Люмен пашет шустрее юи уже, но это ж не сам ларавел. Под скоростью, конечно, имеется ввиду не только скорость обработки запроса, но и потребляемые ресурсы. И конечно все это будет не критично, если нет проблем с расширением серваков, но я как-то такой подход не одобряю. Да и не осуждаю сам ларавел, нишевая тема, удобная в некоторых местах, востребованная сейчас (юи только на легаси уже, нового почти ничего нет) просто вот не взял бы я его на свой проект, на мой взгляд есть масса решений гораздо лучше и эффективнее.
Аноним 2017/04/22 19:17:22  №977933 9
лиля.jpeg (6, 236x213)
213x236
>>976099
>>mb-функций нет на ideone, есть на 3v4l.org

не понимаю и туда запилил Лиличку https://3v4l.org/h3E9h, тоже только знаки вопроса вылазят. Допоможить!
Ответы: >>977935
Аноним 2017/04/22 19:19:28  №977935 10
>>977933

https://github.com/codedokode/pasta/blob/master/php/strings-utf8.md

ты почему-то решил что $string[0] вернет первую букву строки. Но это не так, $string[0] это только первый байт из строки, а буква состоит из нескольких байт и при попытке его отобразить получается вопросик.

Используй mb_substr.
Ответы: >>977980 >>977989
Аноним 2017/04/22 20:38:56  №977980 11
>>977935
спасибо, понял промах
Аноним 2017/04/22 21:08:32  №977989 12
Ответы: >>979511
Аноним 2017/04/25 02:19:20  №979511 13
>>977989

> $biggest=mb_strlen(max($text_arr));
Неправильно. max() выстраивает строки по возрастанию байт, которыми они кодируются, и берет ту, в которой первый байт максимален. Соответственно для строк: ['abram', 'z'], max() вернет 'z' потому что в utf-8 код для 'z' больше чем для 'a'.

Если интересно, вот правильное сравнение строк по алфавиту, но тут оно не нужно: https://github.com/codedokode/pasta/blob/master/php/collation.md

> $text_arr
Плохое название, не надо в переменной писать ее тип, и не надо использовать подчеркивание. Правильнее назвать $lines (строки).

В остальном верно.

>>977748

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

"рекуррентная" - значит что это последовательность, где следующий член последовательности выражается через предыдущий (или предыдущие). https://ru.wikipedia.org/wiki/%D0%A0%D0%B5%D0%BA%D1%83%D1%80%D1%80%D0%B5%D0%BD%D1%82%D0%BD%D0%B0%D1%8F_%D1%84%D0%BE%D1%80%D0%BC%D1%83%D0%BB%D0%B0

Ну например рекуррентная формула для последовательности натуральных чисел 1, 2, 3...:

x[1] = 1; // последовательность начинается с единицы
x[n] = x[n - 1] + 1; // следующий член на 1 больше предыдущего

В программе у тебя есть проблема: слишком большие блоки в if и к тому же они еще и сильно вложены. Лучше сделать так:

if ($total_sum < $amount){
echo "Выдача невозможна: недостаточно средств в терминале\n";
exit();
}

....

> $quantity_5000=
> $quantity_1000=
> $quantity_500
Это копипаста, так не пойдет, надо обойтись без нее. Нельзя просто бездумно копировать код, надо подумать, как избавиться от повторов. Хотелось бы чтобы номиналы купюр задавались в массиве в начале программы и их можно было бы менять, не трогая код. А то если у нас будет 10 номиналов купюр, ты 10 блоков кода что ли будешь копипастить?