Я пытаюсь установить переменную в виде строки, а затем использовать эту переменную в функции цикла while.
<?php
$assoc = <<<'EOF'
$users[]=array('name'=> $row['name'], 'foreman_position'=> $row['foreman_position'], 'status'=> $row['status'], 'emp_num'=>$row['employee_num'],'sen_num'=> $row['seniority_num']);
EOF;
while($row = mysqli_fetch_assoc($result)) {
echo $assoc;
}
При оценке я бы хотел, чтобы это выглядело так:
while($row = mysqli_fetch_assoc($result)) {
$users[]=array('name'=> $row['name'], 'foreman_position'=>
$row['foreman_position'], 'status'=> $row['status'], 'emp_num'=>
$row['employee_num'],'sen_num'=> $row['seniority_num']);
}
Если я добавлю синтаксис вручную, он будет работать нормально, но переменная будет выражаться как строка. Любая помощь с благодарностью.
Это просто не так, как это работает. Если вы хотите сделать фрагмент кода повторно используемым или просто переместить его в другое место, используйте функции:
function extractResult(array $row, array &$output) {
$output[] = [... => $row[...], ...];
}
$users = [];
while ($row = mysqli_fetch_assoc($result)) {
extractResults($row, $users);
}
Других решений пока нет …