@Ibishka

Почему $inputs = 0?

$inputs = '';
$inputs .= '<input type="hidden" name="item_name_' . $index ? $index : 1 . '>" value="' . $item['title'] . '">
              <input type="hidden" name="quantity_' . $index ? $index : 1 . '" value="' . $count . '">
              <input type="hidden" name="amount_' . $index ? $index : 1 . '" value="' . $total . '">';

Да проблема в проверка $index как писать условие чтоб не было равно 0
  • Вопрос задан
  • 91 просмотр
Решения вопроса 2
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Конкатенация выполняется раньше, чем тернарный оператор. В результате, ваша строка выглядит как
$inputs .= ('<input type="hidden" name="item_name_' . $index)
  ? $index 
  : (1 . '>" value="' . $item['title'] . '"><input type="hidden" name="quantity_' . $index)
    ? $index
    : (1 . '" value="' . $count . '"><input type="hidden" name="amount_' . $index)
      ? $index
      : (1 . '" value="' . $total . '">');

Задавайте порядок операций явно скобками.
Ответ написан
Комментировать
WARNING Unparenthesized `a ? b : c ? d : e` is deprecated. Use either `(a ? b : c) ? d : e` or `a ? b : (c ? d : e)` on line number 3
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы