値をハードコーディングする代わりに、フォームの名前属性にプライベート フィールドを使用しています。ただし、何らかの理由で値がプライベート フィールドから取得されず、name 属性に入れられず、その理由がわかりません。
<?php
namespace View;
class UserView {
private $checkBox = "check[]";
private $submitRemove = "submitRemove";
public function ShowUsers() {
$userNameArray = array("foo", "bar", "hallo", "world");
$userIdArray = array(1, 2, 3);
$users = "";
$nrOfUsers = count($userNameArray);
// Name attribute of input fields created is left blank
for ($i = 0; $i < $nrOfUsers; $i++) {
$users .= "<label for='$userIdArray[$i]'>
$userNameArray[$i]
<input type='checkbox' name='$this->checkBox' value='$userIdArray[$i]' /><br/>
</label>";
}
$userList = "<div class='userList'>
<form id='form3' method='post' action=''>
<fieldset>
<p>Existing users</p>
$users
<input type='submit' id='$this->submitRemove' name='$this->submitRemove' Value='Ta bort' /> // name attribute is left blank
</fieldset>
</form>
</div>";
return $userList;
}