Size: a a a

2020 November 11

BU

Boris Ustyantsev in phpGeeks
Do Din
Всем привет, знаю что это костыль но на данный момент нужно сделать именно так.

https://prnt.sc/vhdhv4

Имею два массива, нужно поменять значение ключей ноль на два один на три

            $new_arr = array();
           foreach($data['product_description'] as $key => $value){
               $new_arr[3] = $value;
           }
           print_r($new_arr);

Пробовал вот так, но тогда получается только один ключ подменить, как подменить два
$new_arr[$key+2] = $value;
источник

AB

Alexander Berezin in phpGeeks
Подскажите плиз, есть ли какой-нибудь простой способ заставить str_replace не заменять символы, которые он уже заменил ранее?

php > var_dump(str_replace(['a', 'b'], ['bb', 'cc'], 'a'));
string(4) "cccc" // а надо 'bb'
источник

П️

Пётр ️🕸👾🕸... in phpGeeks
Это же нормально писать без скобок?
if ($resz_w
 && max($resz_w, $resz_h) > MAX_PIC
 && 0 < $koef = $resz_w / $resz_h
) {
 $say->width = koef > 1 ? RSZ_PIC : round(RSZ_PIC * $koef);
}
источник

П️

Пётр ️🕸👾🕸... in phpGeeks
даже без фигурных
источник

ДЩ

Дмитрий Щербаков... in phpGeeks
Alexander Berezin
Подскажите плиз, есть ли какой-нибудь простой способ заставить str_replace не заменять символы, которые он уже заменил ранее?

php > var_dump(str_replace(['a', 'b'], ['bb', 'cc'], 'a'));
string(4) "cccc" // а надо 'bb'
сделать в два этапа не?
источник

AB

Alexander Berezin in phpGeeks
Дмитрий Щербаков
сделать в два этапа не?
нет. Оно как бы и так по умолчанию работает в два этапа сейчас.
Сначала заменяет все "a" на "bb", а затем все "b" на "cc".
А мне наоборот так не надо
источник

ДЩ

Дмитрий Щербаков... in phpGeeks
Пётр ️🕸👾🕸
Это же нормально писать без скобок?
if ($resz_w
 && max($resz_w, $resz_h) > MAX_PIC
 && 0 < $koef = $resz_w / $resz_h
) {
 $say->width = koef > 1 ? RSZ_PIC : round(RSZ_PIC * $koef);
}
что? я вижу в условии присваивание, ого
источник

P

Poseidon in phpGeeks
Пётр ️🕸👾🕸
Это же нормально писать без скобок?
if ($resz_w
 && max($resz_w, $resz_h) > MAX_PIC
 && 0 < $koef = $resz_w / $resz_h
) {
 $say->width = koef > 1 ? RSZ_PIC : round(RSZ_PIC * $koef);
}
Гавно)
источник

P

Poseidon in phpGeeks
Хотя бы вынеси в переменные значения
источник

P

Poseidon in phpGeeks
Чтоб было понятно что происходит
источник

P

Poseidon in phpGeeks
И соотвественно читабельней
источник

П️

Пётр ️🕸👾🕸... in phpGeeks
https://www.php.net/manual/ru/function.imagesetinterpolation.php
что для сохранения качества прямых линий?
источник

П️

Пётр ️🕸👾🕸... in phpGeeks
ненене, вот эту функцию хочу поюзать

https://www.php.net/manual/ru/function.imagescale.php
источник

ДЩ

Дмитрий Щербаков... in phpGeeks
на каком язык он задает вопросы? кто-нибудь понимает?
источник

🦔

🦔 in phpGeeks
Alexander Berezin
нет. Оно как бы и так по умолчанию работает в два этапа сейчас.
Сначала заменяет все "a" на "bb", а затем все "b" на "cc".
А мне наоборот так не надо
источник

AB

Alexander Berezin in phpGeeks
вау, спасибо 👍
источник

АЛ

Артур Легуша... in phpGeeks
всем привет) кто то юзает докер ?) в последнее время проект  (сайт на вп) начал очень сильно тормозить и долго грузит страницы. На проде все летает( Кто то знает в чем трабла и как ее решить ?
источник

JD

John D in phpGeeks
Привет Ребята,
У меня такой спор вышел со знакомым по проектированию активации акаунта и смены емайла.

Есть два варианта которых мы обсуждаем.

1. Хранить токен (код для активации) в таблице юзеров. И если активирует акаунт, ставим статус что активировали емайл.
   При смене емайла, опять же используем поле токен в юзер таблице а также ещё поле new_email где будет хранится новый емайл до тех пор пока не активируем его, потом нулим его.
   Но с другой стороны то что линк живёт вечно (пока не активируют), ничего не сломает по безопасности, он же не получает доступ к акаунту.
   
Минусы этого подхода к примеру то что линк на активацию будет всегда активным (пока не активируют емайл) иначе придётся создавать ещё одно поле уже под expires_at или что то в этом роде.

2. Хранить в отдельной таблице. Структура типа: id, user_id, type, value (тут будет например емайл на который сменим), token, created_at, expired_at
Такой вариант хорош что можно делать разные активации, как смена емайла, активация акаунта и.т.п.

Вариант 2 более гибкий, но первый в какой то мере быстрее.
Кто что думаем по этому поводу ? какой вариант правильней ?  Учитывая ещё момент что продукт надо выводить быстрее на продакшен.
источник

in phpGeeks
Если вам придётся в дальнейшем "делать разные активации, как смена емайла, активация акаунта и.т.п.", то вам всё равно придётся создавать эту таблицу, почему не сделать сразу?
источник

V

Victooor in phpGeeks
John D
Привет Ребята,
У меня такой спор вышел со знакомым по проектированию активации акаунта и смены емайла.

Есть два варианта которых мы обсуждаем.

1. Хранить токен (код для активации) в таблице юзеров. И если активирует акаунт, ставим статус что активировали емайл.
   При смене емайла, опять же используем поле токен в юзер таблице а также ещё поле new_email где будет хранится новый емайл до тех пор пока не активируем его, потом нулим его.
   Но с другой стороны то что линк живёт вечно (пока не активируют), ничего не сломает по безопасности, он же не получает доступ к акаунту.
   
Минусы этого подхода к примеру то что линк на активацию будет всегда активным (пока не активируют емайл) иначе придётся создавать ещё одно поле уже под expires_at или что то в этом роде.

2. Хранить в отдельной таблице. Структура типа: id, user_id, type, value (тут будет например емайл на который сменим), token, created_at, expired_at
Такой вариант хорош что можно делать разные активации, как смена емайла, активация акаунта и.т.п.

Вариант 2 более гибкий, но первый в какой то мере быстрее.
Кто что думаем по этому поводу ? какой вариант правильней ?  Учитывая ещё момент что продукт надо выводить быстрее на продакшен.
но первый в какой то мере быстрее. Как-то непонятно почему он быстрее. И как сказали, второй вариант правильный. + надо добавить ещё поле token_type, дабы по крону грохать просроченные токены нужного типа
источник