Задать вопрос
  • Могут ли быть два типа связи одновременно между двумя таблицами?

    Rsa97
    @Rsa97
    Davidaa_WoW,
    неужели, нигде во время разработки не появляются такие варианты, когда нужно две совершенно разных связи между таблицами, что такого нет ни только в теории, но и при беглом гуглении
    А такая ситуация не является чем-то особенным, поэтому и не выделяется специально.
    Пример - сотрудники и рабочие группы. Каждый сотрудник может входить в несколько групп, связь многие-ко-многим через промежуточную таблицу. У каждой группы есть руководитель, связь многие-к-одному через поле в таблице групп. Одна из групп является для сотрудника основной, связь многие-к-одному через поле в таблице сотрудников.
  • Как убрать вывод нуля при $amount = 1?

    Rsa97
    @Rsa97
    Что мешает округлять вверх? ceil
  • Почему этот код не хочет обновлять данные в базе данных(PDO)?

    Rsa97
    @Rsa97
    Уберите try/catch и посмотрите, какую ошибку выдаёт ваш код.
  • Как без входа на вебморду Yealink T31 поменять ему sip-аккаунт?

    Rsa97
    @Rsa97
    brar, Тогда может проще на уровне АТС менять связь номер сотрудника / sip-аккаунт.
    Для Asterisk'а, например, это реализуется достаточно просто. Сотрудник набирает свой код на любом телефоне (например, *123) и на сервере создаётся запись о том, что для звонка на номер 123 надо вызывать этот телефон.
  • Как без входа на вебморду Yealink T31 поменять ему sip-аккаунт?

    Rsa97
    @Rsa97
    А в чём глубинный смысл сего действа? Этот телефон и так может работать с двумя аккаунтами одновременно.
  • На чем и как написать универсальный web сервер?

    Rsa97
    @Rsa97
    dddeniskaaa, Где-то просто перекомпилировать, где-то придётся дописать/переписать фрагменты кода для поддержки особенностей конкретной архитектуры.
  • Как устранить ошибку на Asterisk?

    Rsa97
    @Rsa97
    А вообще такой адрес в интернете существует?
    dig @8.8.8.8 as5.sig.msk.ip.beeline.ru не показывает ip для этого адреса.
  • Как раздать серые ip провайдера в локальную сеть?

    Rsa97
    @Rsa97
    DeNick, Ну, тут либо устройств, которым нужен интернет, меньше 254, тогда можно каждому назначить непосредственно IP от провайдера, либо их больше, и тогда всё равно не сделать выделение адресов 1:1.
  • Как решить задачу по JS?

    Rsa97
    @Rsa97
    Да у вас и когда n чётное, и когда нечётное, в массив добавляется в два разабольше значений, чем нужно. Вы же их всегда парой добавляете, n пар.
  • Правильно ли осуществляется преобразование и вывод элементов массива?

    Rsa97
    @Rsa97
    User 4550, Линтер - система, следящая за соблюдением стиля кода (стайлгайд, styleguide). Самый, наверное, известный линтер для PHP - phpcs (PHP CodeSniffer).
    IDE нужна для удобства разработки. Тот же VS Code с плагинами даёт подсветку кода, автодополнение при наборе, автоформатирование, постоянную проверку линтером.
    PSR12 - официальный стайлгайд для PHP. Дополняет стандарт PSR1, заменяет PSR2.
    Вот что получается, если проверить ваш код в phpcs на стандарт PSR12:
    spoiler
    ------------------------------------------------------------------------------------------------------------------------------------------------------
    FOUND 31 ERRORS AND 1 WARNING AFFECTING 16 LINES
    ------------------------------------------------------------------------------------------------------------------------------------------------------
      1 | WARNING | [ ] A file should declare new symbols (classes, functions, constants, etc.) and cause no other side effects, or it should execute
        |         |     logic with side effects, but should not do both. The first symbol is defined on line 3 and the first side effect is on line 13.
      3 | ERROR   | [x] Opening brace should be on a new line
      5 | ERROR   | [x] Line indented incorrectly; expected at least 4 spaces, found 0
      6 | ERROR   | [x] Line indented incorrectly; expected at least 4 spaces, found 0
      6 | ERROR   | [x] Multi-line function call not indented correctly; expected 4 spaces but found 0
      6 | ERROR   | [x] Expected 1 space after FUNCTION keyword; 0 found
      7 | ERROR   | [x] Line indented incorrectly; expected at least 8 spaces, found 0
      7 | ERROR   | [x] Multi-line function call not indented correctly; expected 4 spaces but found 0
      8 | ERROR   | [x] Line indented incorrectly; expected 4 spaces, found 0
      8 | ERROR   | [x] Multi-line function call not indented correctly; expected 4 spaces but found 0
      8 | ERROR   | [x] No space found after comma in argument list
      8 | ERROR   | [x] Only one argument is allowed per line in a multi-line function call
      9 | ERROR   | [x] Empty lines are not allowed in multi-line function calls
     10 | ERROR   | [x] Line indented incorrectly; expected at least 4 spaces, found 0
     10 | ERROR   | [x] Closing brace must be on a line by itself
     16 | ERROR   | [x] Multi-line function call not indented correctly; expected 4 spaces but found 0
     17 | ERROR   | [x] Empty lines are not allowed in multi-line function calls
     18 | ERROR   | [x] Multi-line function call not indented correctly; expected 4 spaces but found 0
     19 | ERROR   | [x] Multi-line function call not indented correctly; expected 4 spaces but found 0
     19 | ERROR   | [x] Multi-line function call not indented correctly; expected 4 spaces but found 0
     19 | ERROR   | [x] Expected 1 space after FUNCTION keyword; 0 found
     19 | ERROR   | [x] Expected 1 space before opening brace; found 0
     20 | ERROR   | [x] Line indented incorrectly; expected at least 4 spaces, found 0
     20 | ERROR   | [x] Multi-line function call not indented correctly; expected 4 spaces but found 0
     20 | ERROR   | [x] Multi-line function call not indented correctly; expected 4 spaces but found 0
     21 | ERROR   | [x] Multi-line function call not indented correctly; expected 4 spaces but found 0
     21 | ERROR   | [x] Multi-line function call not indented correctly; expected 4 spaces but found 0
     21 | ERROR   | [x] Only one argument is allowed per line in a multi-line function call
     22 | ERROR   | [x] Empty lines are not allowed in multi-line function calls
     23 | ERROR   | [x] No space found after comma in argument list
     23 | ERROR   | [x] Closing parenthesis of a multi-line function call must be on a line by itself
     23 | ERROR   | [x] Expected 1 newline at end of file; 0 found
    ------------------------------------------------------------------------------------------------------------------------------------------------------
    PHPCBF CAN FIX THE 31 MARKED SNIFF VIOLATIONS AUTOMATICALLY
    ------------------------------------------------------------------------------------------------------------------------------------------------------

    В IDE это выглядит как подчёркивание строк с обнаруженными проблемами и информацией при наведении курсора на строку.
    rector - утилита для автоматизированного рефакторинга кода. В зависимости от набор правил может следить за стилем, предлагать (или автоматически заменять) устаревшие конструкции на новые, рекомендовать имена для переменных и многое другое.
    Например, по вашему коду rector выдаёт следующее:
    spoiler
    ---------- begin diff ----------
    @@ @@
     function allToInt(array $arr): array{
    
     return array_map(
    -static function(mixed $val): int {
    -return (int)$val;
    -},$arr,
    +static fn(mixed $val): int => (int)$val,$arr,
    
     );}
    
    @@ @@
     ', ',
    
     array_map(
    -static function(mixed $val): string{
    -return gettype($val);
    -}, $result,
    +static fn(mixed $val): string => gettype($val), $result,
    
    -),);
    +),);
        ----------- end diff -----------

    То есть, он предлагает заменить обычные функции на стрелочные.
  • Правильно ли осуществляется преобразование и вывод элементов массива?

    Rsa97
    @Rsa97
    User 4550, Правильно.
    Только рекомендую соблюдать нормальный стиль. Поставьте себе какой-нибудь линтер, например PHP_CodeSniffer, плагин для него в IDE и настройте стиль PSR12. Тогда ваш код будет удобнее читать. А если ещё и на будете лениться проходить rector'ом, то ещё получите подсказки по рефакторингу.
    spoiler
    function allToInt(array $arr): array
    {
        return array_map(
            static function(mixed $val): int {
                return (int)$val;
            },
            $arr,
        );
    }
    
    $result = allToInt([1.5, 2.6, 3, 4, 5]);
    
    echo implode(
        ', ',
        array_map(
            static function(mixed $val): string
            {
                return gettype($val);
            },
            $result,
        ),
    );
  • Правильно ли осуществляется преобразование и вывод элементов массива?

    Rsa97
    @Rsa97
    User 4550, $result вообще к стрелочной функции не относится. Это второй параметр функции array_map.
  • Почему поступает пустой запрос, и выдает ошибку?

    Rsa97
    @Rsa97
    Emil7676, Включить выброс ошибок в mysqli, как написано в указанной статье.
  • Правильно ли осуществляется преобразование и вывод элементов массива?

    Rsa97
    @Rsa97
    User 4550, Разница между приведением типа (int) и его заменой через settype только в том, что при приведении создаётся новое значение указанного типа, а при settype меняется тип указанной переменной.
    Но синтаксис (int) используется во многих языках программинрвания и будет более понятен тем, для кого PHP не первый язык.
    Именование переменных/функций желательно строить так, чтобы по названию можно было понять, что именно делается в функции или что находится в переменной. Ваше название conversion говорит о том, что внутри выполняется какое-то преобразование, но какое именно - не понять не посмотрев в текст функции.
    Ну и, для вывода массива есть штатная функция implode, нет смысла городить свой цикл с конкатенацией строк.
  • Правильно ли осуществляется преобразование и вывод элементов массива?

    Rsa97
    @Rsa97
    User 4550, Просто перепишите самостоятельно.
    fn($x) => $y
    заменяется на
    function($x) { return $y }
  • Где ошибка в SQL запросе?

    Rsa97
    @Rsa97
    Vetenskap, А что вы не поняли по ссылке? Там описан полный синтаксис команды UPDATE.
  • Почему нежелательный повторный вывод данных в запросе MySQL «phpMyAdmin»?

    Rsa97
    @Rsa97
    Obemygve, Декартово произведение при JOIN'е вычисляется всегда, просто чаще всего на результат накладываются ограничения.
    X{A, B} ⨉ Y{A, B} ≡ {AA, AB, BA, BB}
    X{A, B} ⨉ Y{A, B} | X = Y ≡ {AA, BB}
  • Почему нежелательный повторный вывод данных в запросе MySQL «phpMyAdmin»?

    Rsa97
    @Rsa97
    Obemygve, Вы не копипастой занимайтесь, а внимательно прочитайте ответ. Приведённый код - это полный аналог вашего запроса с явными JOIN.
  • Не могу сделать аналог вывода простых чисел. В чем проблема?

    Rsa97
    @Rsa97
    Олег Колесников, Просто сокращение цикла. Если у числа есть хоть один делитель числа, то он будет в диапазоне от 2 до корня от числа включительно.