PHP использует строковую переменную в качестве аргумента для функции - PullRequest
0 голосов
/ 24 декабря 2018

Я пытаюсь установить переменную в виде строки и затем использовать эту переменную в функции цикла 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']);
   }

Если я добавлю синтаксис вручную, он будет работать нормально, но переменная будет выражаться как строка.Любая помощь с благодарностью.

1 Ответ

0 голосов
/ 24 декабря 2018

Это не совсем так.Если вы хотите сделать фрагмент кода повторно используемым или просто переместить его в другое место, используйте функции:

function extractResult(array $row, array &$output) {
    $output[] = [... => $row[...], ...];
}

$users = [];

while ($row = mysqli_fetch_assoc($result)) {
    extractResults($row, $users);
}
...