В цикле формируется значение цен, примерно так:
$n=0;
$pricesArray - массив цен
$cell = '<td><input type="text" class="input-text" name="{{cellname}}" value="{{val}}"></td>'
for($i=0; $i < $countColumns; $i++){
//$pricesArray[$n]['prices'][$i] - значение примерно такое 15.09
$value = sprintf("%01.2f", $pricesArray[$n]['prices'][$i]);
$value = '$' . $value;
$cell = preg_replace('/{{val}}/',$value, $cell);
}
в результате на каждой итерации вместо значения {{val}}
должно быть такое: $15.09
, а получается такое: .09
Как правильно добавлять знак доллара к цене?
Шаблон {{val}}
не содержит никаких регулярных выражений, поэтому использование preg_replace
бессмысленно, достаточно сделать:
$cell = str_replace('{{val}}', $value, $cell);
Что касается preg_replace
то выражение $15
в замене считается получением 15-й группы из совпадения. Естественно у вас такой нет, поэтому надо экранировать $
:
$value = '\$' . $value;
$cell = preg_replace('/{{val}}/', $value, $cell);
Пример с обоими вариантами - https://3v4l.org/Er3l9
Проблема в использовании preg_replace. Это не только утяжеляет код, но и приводит к такой ошибке. Нужно заменить
$cell = preg_replace('/{{val}}/',$value, $cell);
на
$cell = str_replace('{{val}}',$value, $cell);
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Ошибка проявляется не всегда, чаще после очистки кеша сайтаБывает 5 проходов по сайту нормально, на 6 выскакивает ошибка
Я хочу сделать проверку: Если файл перемещен, то сделать что-тоПодскажите какой код верный:
У меня есть скрипт на php, который работает используя pthreadsТо есть многопоточность