Copenhagen
Новичок
Для примера, возьму максимально простой шаблон для содержимого одной ячейки таблицы: 'p_id / p_name / p_price'. Соответственно, результат - содержимое ячейки - должно быть такое: '1 / бокал / 99'.
Шаблон, по идее, надо преобразовать в строку с переменными. Это необходимо сделать один раз, не занимаясь преобразованием шаблона для каждой новой строки таблицы.
Я решил сделать сделать массив для замены известных в шаблоне элементов в ссылки:
PHP:
$transform = array (
'p_price' => &$arr[ 1 ],
'p_id' => &$arr[ 2 ],
'p_name' => &$arr[ 3 ],
);
PHP:
$stringCell = strtr('p_id / p_name / p_price', $transform);
PHP:
for($i=0,$n=sizeof($data); $i<$n; $i++) {
$arr = $data[$i];
echo "<tr><td>...</td><td>$stringCell</td></tr>";
}
HTML:
Все вроде как должно работать и должно получится что-то навроде
<tr><td>...</td><td>1 / бокал / 99</td></tr>
<tr><td>...</td><td>2 / фужер / 12</td></tr>
<tr><td>...</td><td>3 / ложка / 299</td></tr>
, но таблица на выходе пустая. Дело в том, что после strtr() строка не выглядит как
"&$arr[ 1 ] / &$arr[ 2 ] / &$arr[ 3 ]", а выглядит вот так " / / ".
Как мне заставить все работать правильно, чтобы таблица заполнялась данными? Или может быть надо использовать какой-то другой подход для такой шаблонизации?