• Стоит ли на сегодняшний день всё ещё отключать анимацию в мобильной версии сайта?

    @rPman
    Отключай анимацию везде и всегда!
    Никогда не включай анимацию скроллинга (есть такие индивиды которые пилят анимацию плавной прокрутки при навигации колесиком, которая дублирует штатную анимацию браузера)

    Для меня такие сайты минус 5 из 10 к личному рейтингу, стараюсь избегать всеми способами.
    Ответ написан
    7 комментариев
  • Как исключить повторяющиеся записи из массива?

    @aopil Автор вопроса
    function unique_multidim_array($array, $key) {
        $temp_array = array();
        $i = 0;
        $key_array = array();
       
        foreach($array as $val) {
            if (!in_array($val[$key], $key_array)) {
                $key_array[$i] = $val[$key];
                $temp_array[$i] = $val;
            }
            $i++;
        }
        return $temp_array;
    }
    
    $details = unique_multidim_array($details,'id');
    Ответ написан
    1 комментарий
  • Как получить url всех картинок из страницы wordpress?

    wppanda5
    @wppanda5 Куратор тега WordPress
    WordPress Mедведь
    Потому, что 0 это не порядковый номер а ID записи, внутри цикла его передавать не надо, вне цикла, надо. А записи с ID = 0, у вас нет
    Ответ написан
    Комментировать
  • Как правило разделить такую строку?

    nokimaro
    @nokimaro
    Меня невозможно остановить, если я смогу начать.
    <?php
    $strings = [
        'https://site.ru/#top 7 (499) 999-99-99;',
        '7 (499) 999-99-99; https://site.ru/#top',
    ];
    
    foreach($strings as $str)
    {
        print_r(extract_data($str));
    }
    
    function extract_data($str)
    {
        preg_match('!(https?://[^\s]+)!si', $str, $out);
        $url = $out[1] ?? '';
        
        $str = str_replace($url, '', $str);
        
        $phone = trim(preg_replace('![^0-9\(\)\-\ ]+!si', '', $str));
        
        return [
            'url' => $url,
            'phone' => $phone
        ];
    }


    Array
    (
        [url] => https://site.ru/#top
        [phone] => 7 (499) 999-99-99
    )
    Array
    (
        [url] => https://site.ru/#top
        [phone] => 7 (499) 999-99-99
    )
    Ответ написан
    1 комментарий
  • Чтобы проверить, что переменная является числом PHP?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Перед тем как учить РНР, тебе нужно обязательно научиться пользоваться интернетом.
    Во времена твоих бабушки и дедушки интернета не было. И тогда да - единственным способом что-то узнать было только спросить у кого-нибудь.
    Но сейчас это уже не так.
    Есть интернет. И твой вопрос обязательно уже задавал кто-нибудь. Поэтому надо просто поискать.
    Пишешь в адресной строке своего браузера, проверить, что переменная является числом PHP
    и видишь примерно миллион ответов на свой вопрос
    Круто, правда?
    Ответ написан
    2 комментария
  • Как заменить значения в файле?

    @d-sem
    $str = '<offer id="10609" available="true">
            <price>847</price>
            <currencyId>RUB</currencyId>
            <categoryId>787</categoryId>
        </offer>
        <offer id="10617" available="true">
            <price>404</price>
            <currencyId>RUB</currencyId>
            <categoryId>787</categoryId>
        </offer>';
    
    $result = preg_replace_callback(
        '/<price>(.*?)<\/price>/m',
        function ($matches) {
            return $matches[1] * 0.8;
        },
        $str
    );
    
    
    echo "The result of the substitution is " . $result;


    Вместо строки - получать содержимое файла.
    Ответ написан
    3 комментария
  • Возможно ли такая функция?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    1. Сначала нужно учить объекты в PHP и что-то написать своё с использованием этих объектов.
    2. Научиться читать и понимать код.
    3. Ознакомиться с принципами создания (проектирования) архитектуры: паттерны проектирования.
    4. Посмотреть: как сделано в популярных фреймворках и сравнить.
    5. Поставить себе цель что-то сделать самостоятельно и начать с проектирования архитектуры.

    Про функцию: да, возможно. Даже более того, таким же точно образом можно создавать формы и их обработчики в полностью автоматическом режиме (автогенерация всех переменных и тегов).
    Ответ написан
    1 комментарий
  • Возможно ли такая функция?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Всё надо учить. И ООП, и MVC, и фреймворки.
    А перед этим надо освоить чистый РНР. Плюс SQL, базы данных, программирование, протоколы, безопасность, устройство серверов
    От курсов толку не будет, надо купить нормальную книжку. И не одну.
    Ну и запастись терпением.
    Годика через два-три сможешь создать нормальный веб-сайт.

    функцию создать можно.
    Ответ написан
    1 комментарий
  • Как отсортировать многомерный массив PHP со сложными условиями?

    nokimaro
    @nokimaro
    Меня невозможно остановить, если я смогу начать.
    array_multisort(
        array_column($array, 'unread_pm'), SORT_DESC, 
        array_column($array, 'last_date'), SORT_DESC, 
        $array
    );


    Если вы делаете выборку из БД то сортировку можно сделать в SQL-запросе
    SELECT ... ORDER BY unread_pm DESC, last_date DESC
    Ответ написан
    4 комментария
  • Как из массива объектов удалить дублирующиеся объекты?

    @alexalexes
    Можно удалить id из элемента массива (точнее из копии элемента), оставшиеся свойства засериализовать, от сериализации найти md5 хэш - это и будет ориентир для уникальности элемента.
    $out_array = [];
    foreach($donates as $donate)
    {
       $donate_copy =  $donate; // копируем элемент массива
       unset( $donate_copy->id); // удаляем уникальное свойство из элемента
       $key = md5(serialize($donate_copy)); // получаем уникальный ключ по содержанию остальных свойств
       $out_array[$key] =  $donate; // добавляем исходный элемент в новый массив по уникальному ключу
    }
    Ответ написан
    2 комментария
  • Как из массива объектов удалить дублирующиеся объекты?

    @Stalinko
    PHP'шник и фрилансер до мозга костей
    Обновлённый ответ.

    1. Можешь все объекты преобразовать в массивы без поля ID. Далее просто использовать array_unique($collection, SORT_REGULAR);

    2. Можешь определить метод __toString() у класса DonateOperation. Как-нибудь так:

    public function __toString(): string
    {
        $attrs = (array)$this;
        unset($attrs['id']);
        return json_encode($attrs);
    }


    Тогда array_unique будет работать применительно к исходной коллекции объектов.

    3. Брут-форс в лоб. Самый долгий способ. С небольшой оптимизацией:

    $collection = [...]; //исходная коллекция объектов
    $found = []; //коллекция найденных массивов для быстрой проверки
    $unique = []; //результирующая коллекция
    
    foreach ($collection as $item) {
        //преобразуем объект в массив без поля "id"
        $array = (array)$item;
        unset($array['id']);
        
        //ищем полученный массив в массиве $found
        if (!in_array($array, $found)) {
            $found[] = $array;
            $unique[] = $item;
        }
    }
    Ответ написан
    2 комментария
  • Будет ли дублироваться контент SEO у блога?

    megakor
    @megakor
    Go/PHP developer | ВКонтакте
    Мало того, что возможно будут проблемы с SEO, так это и просто некрасиво.
    Выводите всегда короткое описание либо же просто название статьи с ссылкой.
    Ответ написан
    Комментировать
  • Как показать код в определенное время года?

    @FasterTans
    <?php
       
    $currentDate = date('Y-m-d');
    $currentDate = date('Y-m-d', strtotime($currentDate));
       
    $startDate = date('Y-m-d', strtotime("01/09/2019"));
    $endDate = date('Y-m-d', strtotime("01/10/2019"));
       
    if (($currentDate >= $startDate) && ($currentDate <= $endDate)){
        echo "Current date is between two dates";
    }else{
        echo "Current date is not between two dates";  
    }

    Динамически подставляйте текущий год
    Ответ написан
    Комментировать
  • Как показать код в определенное время года?

    mahmudchon
    @mahmudchon
    <?php
    $time_now = time(); // время сейчас в секундах
    
    $date_start = date( '15.12.Y' ); // 15.01.2020
    $date_end  = date( '15.01.' ) . ( (int)date('Y') + 1 ); // 15.01.2021
    
    $time_start = strtotime($date_start); // переводим в секунды
    $time_end  = strtotime($date_end ); // переводим в секунды
    
    if( $time_now >= $time_start && $time_now <= $time_end  ) { // сравниваем в секундах
        echo 'something'; // выводим что-то
    }
    
    echo date( 'd.m.Y H:i:s', $time_now );  // дата сейчас
    Ответ написан
    2 комментария
  • Как вывести с помощью цикла фото и видео с библиотеки Wordpress?

    vladchv
    @vladchv
    WordPress Developer
    <?php
    $args = array(
    	'post_type'  => 'attachment',
    	'numberposts' => null,
    	'post_status' => null
    );
    
    $attachments = get_posts($args);
    if($attachments){
    	foreach($attachments as $attachment){ ?>
    		<a href="<?php the_permalink($attachment); ?>"><?php echo apply_filters( 'the_title', $attachment->post_title ); ?></a>
    <?php }
    } ?>


    Если нужна ссылка на сам файл, то:
    <a href="<?php echo wp_get_attachment_url($attachment->ID); ?>"><?php echo apply_filters( 'the_title', $attachment->post_title ); ?></a>
    Ответ написан
    8 комментариев
  • На каком языке CMS сайта будет работать быстрее?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    При такой постановке вопроса на любом языке у вас CMS медленно будет работать ввиду недостатка опыта правильной разработки.
    Язык программирования нужен не для скорости, а для понятности людям. Скорость выполнения кода не так критична в вебе, как правильная архитектура. Иначе всё бы писали на ассемблере, но где вы видели сайты на ассемблере? Нет, наверняка такие есть и вполне можно сделать какой-нибудь фреймворк с CMS хоть на ассемблере, хоть на брейнфаке, но это глупо.
    Обычно язык программирования не является бутылочным горлышком для скорости CMS.
    Ошибки в архитектуре, непродуманная масштабируемость, отсутствие кэширования, излишняя связность, избыточность внешних зависимостей, пренебрежение CDN -- всё это гораздо сильнее влияет на тормоза и все эти проблемы можно реализовать на любом языке.
    Язык нужно выбирать так, чтобы он давал возможность делать код более простым, читабельным и понятным не смотря на его количество. У языка должно быть большой комьюнити, чтобы можно было легко находить недорогих и эффективных специалистов для поддержки проекта.
    Ответ написан
    Комментировать
  • На каком языке CMS сайта будет работать быстрее?

    azerphoenix
    @azerphoenix
    Java Software Engineer
    Здравствуйте!
    Прежде всего стоит различать такие термины, как CMS, CMF и фреймворки.
    Раз к вашему вопросу добавлен тег Java, то скажу следующее - как правило, на Java CMS не пишут. Можно конечно же написать, но так как такие языки, как Java и C# ориентированы на Enterprise, то обычно на них пишут веб-приложения с использованием различных фреймворков под конкретную задачу. К тому же, если сравнить готовые CMS написанные на Java (например, HippoCMS) и на РНР (например, WordPress), то вы заметите, что деплоить приложения написанные на Java сложнее, чем на РНР. Опять же знаменитая 5-ти минутная установка WP на сервер намного легче. + важный момент заключается в том, что CMS системы написанные на РНР можно развернуть на любых shared хостингам, в то время, как для Java развертывания приложений вам нужно подготовить сервер (VPS или VDS), установить Tomcat или любой другой сервлет-контейнер. Или же деплоить приложение в облако - AWS, Heroku и др. Как минимум, это требует доп. знаний и опыта или же привлечения доп. специалиста - DevOPS.
    Соответственно, не лучшая идея писать CMS на компилируемых языках. Java, C#, Kotlin, Scala и т.д.
    Также многое зависит непосредственно от разработчика. Если вы лучше владеете ЯП - python, то конечно же вам будет легче и лучше писать на нем, нежели на Java.
    Также стоит учесть, что CMS подразумевает некую универсальность применения и соответственно, на CMS может быть много лишнего кода (функционала), который вам и не нужен, но при этом потребляет ресурсы сервера. Или например, CMS может быть подточен на реализацию определенной цели. Например, на блог (как в случае с ВП), но при этом владельцу сайта может понадобится и интернет-магазин или еще что-нибудь. Довольно часто, из-за подобной универсальности приходится жертвовать архитектурой приложения, что непосредственно сказывается на быстродействии. Для наглядности - WP. Там в одной таблице wp_posts могут храниться различные данные (от записей и страниц, вплоть до товаров и объявлений и сообщений форума), хотя по факту каждый из них является отдельной сущностью.
    Также при разработке CMS систем предпочтение я бы отдавал интерпретируемым языкам и также учел бы их распространенность на хостингах. Тут опять-таки преимущество имеет РНР.
    Ответ написан
    Комментировать
  • Как правильно добавить элементы в уже существующий массив?

    @Stalinko
    PHP'шник и фрилансер до мозга костей
    $data['fields'] += ['ADIPISCING' => 'ELIT'];

    Отсутствующие поля добавит. Уже имеющиеся оставит нетронутыми.
    Ответ написан
    Комментировать
  • На .php не работают tab?

    @vardoLP
    Ват ю сэй эбаут май мама?!
    мож они виноваты? ))

    5fbcde3f7808c803359354.jpeg
    Ответ написан
    4 комментария