Пользователь пока ничего не рассказал о себе

Достижения

Все достижения (17)

Наибольший вклад в теги

Все теги (57)

Лучшие ответы пользователя

Все ответы (107)
  • Как отправить HTTP запрос методом POST на URL через PHP?

    GeneMoss
    @GeneMoss
    void
    $url = 'http://localhost/post.php';
    $params = array(
        'param1' => '123', // в http://localhost/post.php это будет $_POST['param1'] == '123'
        'param2' => 'abc', // в http://localhost/post.php это будет $_POST['param2'] == 'abc'
    );
    $result = file_get_contents($url, false, stream_context_create(array(
        'http' => array(
            'method'  => 'POST',
            'header'  => 'Content-type: application/x-www-form-urlencoded',
            'content' => http_build_query($params)
        )
    )));
    
    echo $result;
    Ответ написан
    1 комментарий
  • Что означает конструкция (function($){$(function(){ })})($)?

    GeneMoss
    @GeneMoss
    void
    $(function(){}) — это мы запускаем действие в момент загрузки страницы. А оборачиваем в анонимную функцию (function($){ })($);, чтобы избежать конфликта имен с $.

    Автор плагина предусмотрел случай, когда доллар занят под другую библиотеку/функцию/переменную. Чтобы избежать конфликта имен, достаточно будет заменить доллар на jQuery, вот так (хотя сразу так и нужно было писать):
    (function($){$(function(){
        $('select').styleThis();
    })})(jQuery);


    Т.е. передав один раз нужный параметр, нам нет нужды переписывать весь плагин.
    Ответ написан
    1 комментарий
  • Возможно ли на jQuery узнать размеры изображения по ссылке?

    GeneMoss
    @GeneMoss
    void
    Попробуйте так (работает и без jQuery):

    var img = new Image();
    img.onload = function() {
        alert(this.width + 'x' + this.height);
    };
    img.src = 'http://yandex.st/morda-logo/i/logo.png';
    Ответ написан
    2 комментария
  • Какие могут быть доводы против back-end для мобильного приложения на php?

    GeneMoss
    @GeneMoss
    void
    Если это коммерческая разработка, тогда используйте тот ЯП, который лучше знаете.
    Ответ написан
    Комментировать
  • Создание вероятности на php. Можете помочь?

    GeneMoss
    @GeneMoss
    void
    /**
     * Случайная выборка с учетом веса каждого элемента.
     * @param array $data Массив, в котором ищется случайный элемент
     * @param string $column Параметр массива, содержащий «вес» вероятности
     * @return int Индекс найденного элемента в массиве $data 
     */
    function getRandomIndex($data, $column = 'ver') {
      $rand = mt_rand(1, array_sum(array_column($data, $column)));
      $cur = $prev = 0;
      for ($i = 0, $count = count($data); $i < $count; ++$i) {
        $prev += $i != 0 ? $data[$i-1][$column] : 0;
        $cur += $data[$i][$column];
        if ($rand > $prev && $rand <= $cur) {
          return $i;
        }
      }
      return -1;
    }
    
    // Использование
    $games = [
    	['name' => 'Игра 1', 'ver' => 2], // вероятность 2/15
    	['name' => 'Игра 2', 'ver' => 0], // вероятность 0/15
    	['name' => 'Игра 3', 'ver' => 1], // вероятность 1/15
    	['name' => 'Игра 4', 'ver' => 4], // вероятность 4/15
    	['name' => 'Игра 5', 'ver' => 8], // вероятность 8/15
    ];
    $i = getRandomIndex($games);
    echo $games[$i]['name'];

    В параметре массива «ver» задается вероятность выпадения данного элемента таким образом, что вероятность выпадения каждого элемента равна ver/sum, где sum — сумма вероятностей в данном массиве (в примере это: 2 + 0 + 1 + 4 + 8 = 15).

    После миллиона испытаний получено следующее количество выпадений:
    • Игра 1 = 13.3958%
    • Игра 2 = 0%
    • Игра 3 = 6.671%
    • Игра 4 = 26.6124%
    • Игра 5 = 53.3208%

    Что до сотой доли процента совпадает с заданной вероятностью в параметре «ver».

    P. S. Суть алгоритма — имитация случайной выборки из массива, который заполнен элементами, которые дублируются с заданной частотой.
    Ответ написан
    Комментировать