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

    vhood
    @vhood
    Не забывайте отмечать решения
    Одиакового ничего, идея скорее всего выводить по идексу в массиве

    Значит нужно по индексу и связывать
    <?php foreach ($arItem['PROPERTIES']['IMG_BEFORE']['VALUE'] as $index => $arImgBeforeSrc): ?>
        <?php $arImgAfterSrc = $arItem['PROPERTIES']['IMG_AFTER']['VALUE'][$index] ?>
        <div class="cocoen">
          <img data-src="" class="blog-list__item-image<?=($arParams['ROUNDED_IMAGE'] ? ' rounded' : '');?>" src="<?=CFile::getPath($arImgBeforeSrc);?>" alt="">
          <img data-src="" class="blog-list__item-image<?=($arParams['ROUNDED_IMAGE'] ? ' rounded' : '');?>" src="<?=CFile::getPath($arImgAfterSrc);?>" alt="">
        </div>
    <?php endforeach ?>

    Только в коде не учтен момент, когда изображение "после" может отсутствовать. Во избежание ошибки, вторую картинку лучше в условии выводить и в объявлении переменной $arImgAfterSrc проверку сделать.
    Ответ написан
    Комментировать
  • Как настроить PHP Psalm в VS Code для вложенной папки?

    vhood
    @vhood
    Не забывайте отмечать решения
    "psalm.configPaths": [
        "src/psalm.xml",
    ]
    Ответ написан
    Комментировать
  • Как сделать что бы открывалось модальное окно и в него выводились данные из БД?

    vhood
    @vhood
    Не забывайте отмечать решения
    Нужно с помощью JS посылать AJAX запрос на PHP скрипт.

    Далее 2 варианта:

    1) PHP скрипт возвращает данные (например, в формате JSON), JS заполняет поля модального окна этими данными и отображает его

    2) PHP скрипт возвращает HTML уже готового модального окна, JS только подставляет его в родительский элемент

    Пример запроса:

    async function openModal(id = 0){
        if(!id){
           return;
        }
    
        const response = await fetch(`library.php?id=${id}`);
        const responseText = await response.text();
    
       // Дальше делайте манипуляции с модальным окном и полученными данными
    }
    Ответ написан
  • Как вытащить строку из текста?

    vhood
    @vhood
    Не забывайте отмечать решения
    $str = '
    текст текст текст текст текст
    <tr><td>Габариты заводской упаковки (длина, ширина, высота): <b>35 x 16 x 9</b> см. </td></tr>
    <tr><td>Габариты упаковочной коробки (длина, ширина, высота): <b>40 x 21 x 14</b> см. </td></tr>
    текст текст текст текст текст
    ';
    
    preg_match('/Габариты упаковочной коробки.*<b>(.*)<\/b>/', $str, $matches);
    
    $value = array_key_exists(1, $matches) ? $matches[1] : null;
    
    var_dump($value);
    
    // 40 x 21 x 14
    Ответ написан
    1 комментарий
  • Как перебрать многомерный массив с учетом динамического промежуточного ключа?

    vhood
    @vhood
    Не забывайте отмечать решения
    $ids = [];
    foreach ($array['_embedded']['movement_acceptance'] as $acceptance) {
        $ids[] = $acceptance['id'];
    }
    var_dump($ids);
    Ответ написан
    2 комментария