Ответы пользователя по тегу Массивы
  • Как правильно разбить текст?

    vserykh
    @vserykh
    Разработка сайтов, лендингов «под ключ»
    Если вам не принципиально, чтобы во вложенных массивах индексы были «1» и «2», то так:
    <?php
    
    $text = "img32.jpg | img75.jpg\nimg72.jpg | img01.jpg";
    
    $array = explode("\n", $text);
    
    $result = array();
    foreach ($array as $str)
    {
        $result[] = explode(' | ', $str);
    }
    
    echo '<pre>';
    var_dump($result);
    echo '</pre>';

    Результатом будет:
    array(2) {
      [0]=>
      array(2) {
        [0]=>
        string(9) "img32.jpg"
        [1]=>
        string(9) "img75.jpg"
      }
      [1]=>
      array(2) {
        [0]=>
        string(9) "img72.jpg"
        [1]=>
        string(9) "img01.jpg"
      }
    }

    Функция explode разбивает строку на массив элементов, используя разделитель.

    В вашем случае разбивать приходится дважды:
    — по символу конца строки "\n" (обязательно в двойных кавычках),
    — и по ' | ' (вертикальная черта, отбитая с обеих сторон пробелами).
    Ответ написан
    Комментировать
  • Как разобрать такой массив?

    vserykh
    @vserykh
    Разработка сайтов, лендингов «под ключ»
    Чтобы получить значение из ассоциативного массива по ключу, нужно просто указать этот ключ.

    В данном случае у вас много вложенных ассоциативных массивов. Соответственно, нужно по цепочке ключей продвигаться к конечному значению.

    Например:
    $time = $array[681]['activities']['copying']['time']; // Получим значение «480»
    Ответ написан
    Комментировать
  • Как получить значение родительского элемента массива php зная одно из значений его дочернего массива?

    vserykh
    @vserykh
    Разработка сайтов, лендингов «под ключ»
    Как сказано в документации, в запросе можно использовать параметр «query», который позволяет искать по значениям полей.

    Если в качестве значения этого параметра указать искомый номер телефона, то в выдаваемом списке контактов будут только те контакты, у которых этот номер телефон присутствует в одном из полей.
    4a0a048538f240e8a2e8dd65e847a74b.PNG
    К сожалению, видимо, используется только точное вхождение: если искомый телефон будет записан без скобок или пробелов — найдено ничего не будет.

    Хотя, если по своим правилам нормализовывать номера телефонов при записи в CRM, то можно будет искать.
    1a7b952f93a941c3a2978436e8d5be4d.PNG
    Ответ написан
    Комментировать