Задать вопрос
  • Как обратится к элементу массива по списку индексов?

    65536
    @65536
    выдам своего барахла

    function a2p($array)
    {
        return implode('/', $array);
    }
    
    function p2a($path)
    {
        return explode('/', $path);
    }
    
    function ap(&$input, $path = null, $set_value = null)
    {
        if ( !is_null($path) )
        {
            if ( $path )
                $path = p2a($path);
    
            if ( !is_null($set_value) )
            {
                if ( $path )
                    eval('$input["' . implode('"]["', $path) . '"] = $set_value;');
                else
                    $input = $set_value;
    
                return $input;
            }
            else
            {
                if ( $path )
                    eval('$value = isset($input["' . implode('"]["', $path) . '"]) ? $input["' . implode('"]["', $path) . '"] : null;');
                else
                    $value = $input;
    
                return $value;
            }
        }
        else
        {
            return $input;
        }
    }


    p2a - преобразовать путь в массив. путь это/любая/строка/такого/вида
    a2p - наоборот
    ap - получить или изменить значение по определенному пути

    ваш случай
    $path = array(1,8,0);
    $arArray = array(1 => array(8 => array(0 => 123)));
    print ap($arArray, a2p($path));
    Ответ написан
  • Собрал команду программистов как поделить задачу?

    65536
    @65536
    сделать копию, дать всем доступ, делать и тестить все на ней, стабильные состояния переносить на боевую
    Ответ написан
    6 комментариев
  • Редактор кода со страницы?

    65536
    @65536
    Ответ написан
    Комментировать
  • Как сделать div самовыравнивающимся по центру вне зависимости от контента?

    65536
    @65536
    Даю свой ответ и присоединяюсь к вопросу

    .center {
        text-align: center;
        width: 100%;
    }
    
    .c {
        display: inline-block;
        text-align: left;
    }

    <div class="center">
        <div class="c">
            <div class="abc">123</div>
            <div class="klmn">any klmn content</div>
        </div>
    </div>


    вот такой вариант. пашет 100% во всех случаях. оба дива становятся шириной 100% от ширины контейнера, в котором лежит div.center, а то что находится внутри div.c, какой бы оно ни было ширины гарантированно центрируется относительно центра div.c. работает 100%, проверено электроникой. и меня интересует нет ли способа покомпактней и поизящней без обертывания дивами.
    Ответ написан
  • Как правильно писать обертку pdo?

    65536
    @65536
    Мне очень нравится https://github.com/laravel/framework/tree/5.0/src/... хоть и очень много жрет, синтаксис краткий и человеческий

    легко вырезается и вставляется в свой проект

    сами будете делать 5 лет
    Ответ написан
    Комментировать
  • На каком языке писать комментарии в коде?

    65536
    @65536
    Присоединяюсь к вопросу. Только беспокоит другое, написать можно и на обоих. А вот реально ли на гитхабе или просто у себя где-то в гите держать параллельно 2 версии, где код идентичен, а комменты на русском. Вот хочу я залить одну прогу на гитхаб и чтобы охват был от русских чайников до всех остальных, но походу постоянно следить за этим будет невозможно, мержить построчно каждый файл и вообще непонятная история будет складываться как минимум в одной репе, а то и в обеих. Единственное, что пока пришло в голову это каждому методу давать номер типа #2743 и чтобы был скрипт, который бы скачал и вставил комменты в нужные места. Можно было бы совместить енг и номерки для дорогих россиян чтобы они могли скачать себе великие и могучие комменты, но это прокатит только для комментов перед методами, а внутри методов тоже бывают. Кто что думает?
    Ответ написан
  • Хорошая практика? Хранение данных ... json?

    65536
    @65536
    а зачем? по-моему тут самое место для применения реляционного принципа хранения. я делал магаз, 100к товаров, у каждого по 30-50 параметров, все летает. за целостностью бд следить не нужно руками. а так вы получается микросубд делаете, индекс какой-то свой. это гемарой и потом внезапно развалятся данные и быстро будет не починить.

    gyazo.com/e27e934b9bf1c2431a7fbf9db9c501f4 вот такая схема. товары и свойства принадлежат категориям. значения свойств тусуются на их связях с товарами.

    ваш вариант тоже реализуем. только ради чего?

    по скорости я вам точно могу сказать что все это быстро работает. слегка возрастает нагрузка в зависимости от числа параметров входящих в запрос (отмеченных галочек, слайдеров и тд). от количества товаров вообще не зависит, тестили на 600к
    Ответ написан
  • Drop-down menu через php??

    65536
    @65536
    <?php
    
    $menu = array(
        array('label' => 'Главная', 'link' => '1'),
        array('label' => 'О нас', 'link' => '2'),
        array('label' => 'Наши блюда', 'link' => '3'),
        array('label' => 'Заказать', 'link' => '4')
    );
    
    $dropmenu = array(
        array('label1' => 'Пицца', 'link1' => '1'),
        array('label1' => 'Лазанья', 'link1' => '2'),
        array('label1' => 'Блинчики', 'link1' => '3')
    );
    
    foreach ($menu as $value)
    {
        echo "<li><a href=\"../index.php?id={$value['link']}\"><strong>{$value['label']}</strong></a></li>";
    
         if ($value['link'] == 3)
         {
             foreach ($dropmenu as $value1) {
             echo "<li><a href=\"../index.php?id={$value1['link1']}\"><strong>{$value1['label1']}</strong></a></li>";
         }
    }
    
    $page = 1;
    $page = filter_input(INPUT_GET, 'id', FILTER_SANITIZE_NUMBER_INT);
    Ответ написан
    1 комментарий
  • Как сделать ЧПУ на php?

    65536
    @65536
    оффтоп. Мужики, кого-нибудь еще switch раздражает как меня?
    Ответ написан
    8 комментариев
  • Легкие инструменты для WEB?

    65536
    @65536
    шторм что же еще. 100 баксов или EAPы

    www.jetbrains.com/phpstorm
    Ответ написан
    Комментировать
  • В Open Server не поддерживается CSS?

    65536
    @65536
    попробуйте скомпилировать в .exe, может как стэндэлон запустится
    Ответ написан
    Комментировать
  • Как получить номер телефона с картинки на php?

    65536
    @65536
    Ответ написан
    Комментировать
  • Анимация при удалении класса jquery?

    65536
    @65536
    Господа, формулируйте свои вопросы понятно. Давайте нужную инфу, не давайте не нужную. Куда уезжает панелька, вверх, вбок, к бабушке? при каких обстоятельствах? На джквери или цсс все-таки? А ну да, у вас же класс qqw, сразу не увидел, это всё проясняет.

    может вам надо что-то типа
    $("#panelka").bind("mouseout", function() {
        $(this).slideUp(200);
    });
    Ответ написан
    2 комментария
  • Как убрать лишние директории из url???

    65536
    @65536
    .htaccess
    RewriteEngine on
    RewriteBase /
    
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ /index.php?uri=$1 [L]


    index.php
    <?php
    
    ...
    
    $uri = explode('/', $_REQUEST['uri']);
    
    if ( $uri[0] == 'fer' )
    {
        print file_get_contents('wer/fer/index.html');
    }
    
    ...
    Ответ написан
  • Почему jQuery не видит атрибуты элементов созданные в текущем обработчике события?

    65536
    @65536
    Попробуйте так

    function gett
          url: getvalue,
          error: function(XMemptype==''?'':'|')+$(this).attr("type");
        });
        getvalue = "/plays.php?data=" + temptype;
        $.ajax({Litems (obj) {
        obj.find("li > a.start").each(function(index) {
          temptype += (Htt function(data, textStatus, XMLHttpRequest) {
                $.each(data.response, f
                }); function(data, textStatus, XMLHttpRequest) {
                      onp',
              error: function(XMLHttunction(i, val) {
                  obj.find('li:eq('+i+') >us, errorThro a.start').attr("pl", val.url);pRequest, textStatus, errorThrown) {
                alert ("err
              }
            });pRequest, text
          }
        });
        Statwn) {
          },
            $.ajax({
              type: 'GET',
              url: data,
              dataType: 'js
          success:or");
              },
              success:
    
      }
    Ответ написан
  • Как правильнее парсить результаты ajax запроса?

    65536
    @65536
    я делаю так. все состоит из блоков, где каждый блок это какое-то хтмл, к которому прилагается свой джаваскрипт, который на этот блок лично навешивает всякие обработчики. есть два случая: загрузка страницы целиком (то есть всех блоков со всеми своими джаваскриптами) и перезагрузка отдельных блоков в фоновом режиме (аджаксом так называемым). в первом случае собственно загружается страница и по готовности отрабатывают все скрипты, которые прилагаются к блокам из которых она состоит. во втором блок загружается на страницу (вставляется в нужное место, реплейсится, аппендится или еще как) и опять же отрабатывают его скрипты (именно его а не все). если в этих скриптах есть биндинги событий, то их сначала нужно отбиндить, потому что блок может перезагружаться сколько угодно раз и с каждым разом события будут навешиваться повторно и нажатие на кнопку будет слать не один запрос а столько сколько раз был перезагружен блок. никогда не было доверия ко всяким .on() .live() и тд. проще и надежнее заменить кусок кода на странице и заребиндить все что его касается.

    дополнительное преимущество такое, что вся логика происходит на стороне пхп, а на стороне браузера только работа с домом, никаких вычислений, ну либо только такие, которые не будут теряться после перезагрузки блока или заставлять писать одно и то же 2 раза. только простые манипуляции и отработка событий которые будут сообщать серверу об изменениях. например, какая-нибудь форма отправки заказа, сколько ужаса я повидал, когда условия доставки рассчитываются на странице джаваскриптом а потом это отправляется на сервер (то есть я могу подменить стоимость в запросе) или на сервере подобный алгоритм считает все это еще раз чтоб типа проверить, в результате имеется зеркало алгоритма на другом языке и что-то менять нужно в 2 местах ломая голову. или жмем случайно ф5 и все слетает потому что о данных в полях кроме страницы никто не знал. как правильно в данном случае (имхо конечно же), допустим форма такая, 2 поля имя и телефон и один переключатель доставка/самовывоз. делаем для нее в сессии массив которых способен хранить состояние этих полей и переключателя, задаем дефолтные значения там же. при загрузке страницы с этой формой она просто выводится со значениями которые находятся в сессии. к ней прилагается джаваскрипт который ребиндит событие кейап на полях и событие клик на переключателе. по событию кейап отправляется значение поля чтоб сохранить его в сессии (в ответ ничего не происходит, здесь не нужно). по клику на переключателе так же шлется запрос который меняет в сессии его состояние и в ответ перезагружается вся форма (на основании актуальных данных в сессии) и все на ней заново ребиндится. не знаю смог ли объяснить, короче проще всего отправлять каждый пук пользователя на сервер, обработать его там, и перезагрузить нафиг всё на что он мог повлиять.

    все эти килобайты и миллисекунды полная ерунда, все споры на эту тему это отстаивание своих знаний определенных технологий. как по мне если программа на пхп то вся логика в пхп и должна происходить а джс только обслуживать интерфейс и не более того
    Ответ написан
  • Не открывается сайт на локальном сервере?

    65536
    @65536
    может там чего напишут cat /opt/lampp/logs/error_log
    Ответ написан
    Комментировать