Ответы пользователя по тегу PHP
  • Как сделать нужного мне вида массив?

    <?php
    
    $array = array(
          array('x' => 1),
          array('x' => 2),
          array('x' => 3),
          array('x' => 4),
          array('y' => 5),
          array('y' => 6),
          array('z' => 7), // Названия ключей не будут влиять на формирование результата ;-)
    );
    
    // Определим переменную с финальным результатом
    $result = [];
    
    // Прогуляемся по исходному массиву и добавим в результирующий массив
    // значения исходного в разбивке по ключам
    
    // * чтобы анонимная (безымянная) ф-ция могла получить доступ к переменной $result,
    // добавим ее через слово `use`,
    // а чтобы лямбда-функция (это то же, что анонимная) могла и изменять переменную $result,
    // предварим ее амперсандом `&` — то есть передадим переменную по ссылке
    array_walk($array, function($el) use (&$result) {
        // Найдем ключ для каждого элемента исходного массива
        $key = array_key_first($el);
        
        // Добавим вложенные значения в разбивке по ключам
        $result[$key][] = array_shift($el);
    });
    
    print_r($result);
    Ответ написан
    Комментировать
  • Как распарсить json следующего вида?

    <?php
    
    $obj = new stdClass;
    $obj->return = '[
        {
        "date":"19.02.2021",
        "time_start":"16:00:00",
        "duration":900,
        "time_end":"16:15:00",
        "employee_id":"01234567890"
        },
        {
        "date":"19.02.2021",
        "time_start":"16:15:00",
        "duration":900,
        "time_end":"16:30:00",
        "employee_id":"01234567890"
        },
        {
        "date":"20.02.2021",
        "time_start":"10:45:00",
        "duration":900,
        "time_end":"11:00:00",
        "employee_id":"gbkdbfndsbvvfnsd"
        }
    ]';
    
    // JSON-строку (ключ 'return' в объекте) в ассоциативный массив,
    // затем из полученного массива выбрать ключи-колонки 'date':
    $result = array_column(json_decode($obj->return, true), 'date');
    
    print_r($result);


    sandbox.onlinephpfunctions.com/code/11023db15060a2...
    Ответ написан
    Комментировать
  • Как исправить кривое оборачивание в ссылку?

    Функция the_permalink() выводит ссылку. В примере поможет: echo get_the_permalink()
    Ответ написан
    Комментировать