Задать вопрос
Ответы пользователя по тегу PHP
  • Можно ли посчитать количество элементов массива не выходя за его пределы?

    @symply_rabbit Автор вопроса
    Нашел еще одно решение. можно найти последний элемент в массиве и приравнять его к единице. вот как

    $total = count($basket);
    $counter = 0;
    foreach ($basket as $key => $basketItem) {
    
     $counter++;
    
    if($counter == $total and $counter == "1"){
        // делаем что-либо с последним элементом...
       }
      else{
    
        $basketItem->delete(); // делаем что-либо с каждым элементом
      }
    }
    Ответ написан
  • Можно ли вывести оба параметра в одном foreach?

    @symply_rabbit Автор вопроса
    Ответ найден. короткий но рабочий код

    в случае если один из массивов не число

    $sorts[] = $enum_fields[VALUE];
    
    $ids[] = $enum_fields[ID];
    }
    
    natsort($sorts);
    
    foreach (array_combine($sorts, $ids) as $code => $name) {
        echo $code?>-<?=$name;?><br>
    <?}
    ?>


    В случае если значение точно число меняем функцию natsort($sorts); на sort($sorts);
    Ответ написан
    Комментировать
  • Могу ли я получить значение дата-атрибута через php?

    @symply_rabbit Автор вопроса
    Решил проблему следующим образом : айди товара убрал вообще и после скрипта "действия по клику" разместил код проверки корзины и добавление классов

    <?
    // Выведем актуальную корзину для текущего пользователя
    
    $dbBasketItems = CSaleBasket::GetList(
        array(
            "NAME" => "ASC",
            "ID" => "ASC"
        ),
        array(
            "FUSER_ID" => CSaleBasket::GetBasketUserID(),
            "LID" => SITE_ID,
           // "PRODUCT_ID" => $arResult["ITEMS"], //ID текущего товара
            "ORDER_ID" => "NULL",
            "DELAY" => "N" //Исключая отложенные
        ),
        false,
        false,
        array("PRODUCT_ID")
    );
    
    
    while ($arItemsBasket = $dbBasketItems->Fetch()) {
        $itInBasket = $arItemsBasket['PRODUCT_ID'];
    //echo  $itInBasket ;?><br>
    
    
    <? if (isset($itInBasket)) {?>
    <script>
    
    if (localStorage.getItem('addClass') == 'true') {
    
     $('.buy-btn[data-id="<?=$itInBasket?>"]').addClass('green-btn').text("В корзине"); 
    }
    
    </script>
    <?} else { //Если товара нет (переменная пустая) ?>
    	
    <?}
    
    }
    ?>
    Ответ написан
    Комментировать