• Как сделать выборку данных?

    e20860
    @e20860
    Работал с СУБД, осваиваю WEB
    Если конвертировали - то работаете как с массивом, а если нет - json_decode Вам в помощь.
    Ответ написан
    Комментировать
  • Как объединить 2 массива?

    e20860
    @e20860
    Работал с СУБД, осваиваю WEB
    Как-то Вы очень по-простому подходите к массивам. В PHP очень развёрнутая система манипулирования данными структурами.
    Вот краткий перечень функций, с которыми можно поиграться (хоть на расхождении хоть на схождении):
    array_udiff() — Вычисляет расхождение массивов, используя для сравнения callback-функцию
    array_diff() - Вычислить расхождение массивов
    array_diff_assoc() - Вычисляет расхождение массивов с дополнительной проверкой индекса
    array_diff_uassoc() - Вычисляет расхождение массивов с дополнительной проверкой индекса, осуществляемой при помощи callback-функции
    array_udiff_assoc() - Вычисляет расхождение в массивах с дополнительной проверкой индексов, используя для сравнения значений callback-функцию
    array_udiff_uassoc() - Вычисляет расхождение в массивах с дополнительной проверкой индексов, используя для сравнения значений и индексов callback-функцию
    array_intersect() - Вычисляет схождение массивов
    array_intersect_assoc() - Вычисляет схождение массивов с дополнительной проверкой индекса
    array_uintersect() - Вычисляет пересечение массивов, используя для сравнения значений callback-функцию
    array_uintersect_assoc() - Вычисляет пересечение массивов с дополнительной проверкой индексов, используя для сравнения значений callback-функцию
    array_uintersect_uassoc() - Вычисляет пересечение массивов с дополнительной проверкой индекса, используя для сравнения индексов и значений индивидуальные callback-функции.
    Ссылка на документацию
    Ответ написан
    Комментировать
  • Что прочитать по ООП и паттернам для веб-разработки на PHP?

    e20860
    @e20860
    Работал с СУБД, осваиваю WEB
    Сам сейчас пытаюсь перейти на веб-разработку после Visual FoxPro. Корплю над учебниками. На мой скромный взгляд:
    1. книга Мэтта Зандстры "PHP Объекты, шаблоны и методики программирования". Вполне конкретная и доходчивая книжка.
    2. Курс по созданию собственного фреймворка. 29 занятий с нуля. https://www.youtube.com/watch?v=nGHfiWjIDr8&list=P...
    Мне помогают очень. Только книгу надо читать с опережением относительно курса...
    Ответ написан
    Комментировать
  • Отображение HTML кода на странице?

    e20860
    @e20860
    Работал с СУБД, осваиваю WEB
    Мало информации, но если использовать только HTML/CSS, то наверное, так:
    1. создать стиль типа:
    .example {
    border: dashed 1px #634F36;
    background: #fffff5;
    font-family: "Courier New", Courier, monospace;
    padding: 7px;
    font-size: 80%;
    margin: 0 0 1em;
    }
    или с любым другим вариантом по вкусу;
    2. Обернуть весь выводимый код тегом Ваш код
    Ответ написан
  • С чего начать обучение для развития в программировании?

    e20860
    @e20860
    Работал с СУБД, осваиваю WEB
    Вот ссылка на вполне хорошее практическое руководство начинающего разработчика с картинками. Дорогу осилит идущий. Удачи...
    Ответ написан
    Комментировать
  • Почему JS делает неверные сравнения?

    e20860
    @e20860
    Работал с СУБД, осваиваю WEB
    Возможно, программа сравнивает значения как строки. Попробуйте привести к типу Number явно. Теория - здесь
    Ответ написан
    Комментировать
  • Как правильно распарсить массив?

    e20860
    @e20860
    Работал с СУБД, осваиваю WEB
    Решение данной задачи предполагает перебор элементов массива и создание на его основе трансформированных новых значений.
    Теория вопроса: Простая и Умная

    Простые (канонические - до ES6) варианты:
    Имеющийся объект для трансформации задан.
    // Имеем объект, представляющий из себя массив простых объектов   
    oldObj = {"mh": [{"id": "BR", "count": 18516, "title": "Brazil"}, 
                     {"id": "US", "count": 4514, "title": "United States"}, 
                     {"id": "MY", "count": 390, "title": "Malaysia"}, 
                     {"id": "IT", "count": 208, "title": "Italy"}
                    ]
    };


    Решения:
    1. С использованием метода map и созданием отдельной функции:
    // при желании функцию трансформации можно назвать конструктором со всеми вытекающими...
    function transform(oO){
        var rv = {}; // return value
        rv.areas = oO.mh.map(function(str){
            var rs    = {};  // return string
            rs.id     = str.id;
            rs.title  = str.title + " - " + str.count;
            return rs;
        });
        return rv;
    };
    var newObj1 = transform(oldObj);
    // В случае конструктора 
    // var newObj1 = new Transform(oldObj)
    console.log(newObj1);
    // полученный объект

    Вариант 1.2 С использованием метода map без создания отдельной функции:
    var newObj2 = {};
    
    newObj2.areas = oldObj.mh.map(function(str){
         var rs    = {};  // return string
         rs.id     = str.id;
         rs.title  = str.title + " - " + str.count;
         return rs;
    });


    2. 1Перебор массива (forEach) без метода map
    var newObj3 = {"areas":[]};
    oldObj.mh.forEach(function(str){
       var ps    = {};  // pushed string
       ps.id     = str.id;
       ps.title  = str.title + " - " + str.count;
       newObj3.areas.push(ps);
    });


    2.2 Перебор массива с использованием цикла for
    var newObj4 = {"areas":[]};
    for (var i = 0; i<oldObj.mh.length;i++) {
       var  str = oldObj.mh[i];
       var ps    = {};  
       ps.id     = str.id;
       ps.title  = str.title + " - " + str.count;
       newObj4.areas.push(ps);
    }
    
    Стрелочные функции, показанные в предыдущих ответах могут работать не во всех браузерах, хотя с точки зрения оптимизации кода - более эффективны...
    Ответ написан
    Комментировать