My mistake DeNasio, if you want to preserve the array for later use after taking out the blank elements you will need to do as sid said and build a new array out of the non-blank elements. If all you were doing was printing them to the screen then this would have worked fine.
PHP Code:
<?
if ($submit) {
if(count($answer) > 0) {
foreach($answer as $key => $val) {
if($val != "") {
$answer[$key] = addslashes($val);
}
else {
unset($answer[$key]);
}
}
reset($answer);
foreach($answer as $key => $val) {
print "$key = $val<br>";
}
}
else {
print "No answers submitted";
}
}
?>
<form action="<?=$PHP_SELF?>" method="post">
answer 1 <INPUT TYPE="text" NAME="answer[]" VALUE="" SIZE="30" MAXLENGTH="100"><br>
answer 2 <INPUT TYPE="text" NAME="answer[]" VALUE="" SIZE="30" MAXLENGTH="100"><br>
answer 3 <INPUT TYPE="text" NAME="answer[]" VALUE="" SIZE="30" MAXLENGTH="100"><br>
answer 4 <INPUT TYPE="text" NAME="answer[]" VALUE="" SIZE="30" MAXLENGTH="100"><br>
answer 5 <INPUT TYPE="text" NAME="answer[]" VALUE="" SIZE="30" MAXLENGTH="100"><br>
<input type="submit" name="submit" value="Submit">
</form>
But you can make a simple adjustment easily like this:
PHP Code:
<?
if ($submit) {
if(count($answer) > 0) {
foreach($answer as $key => $val) {
if($val != "") {
$newAnswer[] = addslashes($val);
}
else {
continue;
}
}
foreach($newAnswer as $key => $val) {
print "$key = $val<br>";
}
}
else {
print "No answers submitted";
}
}
?>
<form action="<?=$PHP_SELF?>" method="post">
answer 1 <INPUT TYPE="text" NAME="answer[]" VALUE="" SIZE="30" MAXLENGTH="100"><br>
answer 2 <INPUT TYPE="text" NAME="answer[]" VALUE="" SIZE="30" MAXLENGTH="100"><br>
answer 3 <INPUT TYPE="text" NAME="answer[]" VALUE="" SIZE="30" MAXLENGTH="100"><br>
answer 4 <INPUT TYPE="text" NAME="answer[]" VALUE="" SIZE="30" MAXLENGTH="100"><br>
answer 5 <INPUT TYPE="text" NAME="answer[]" VALUE="" SIZE="30" MAXLENGTH="100"><br>
<input type="submit" name="submit" value="Submit">
</form>
Bookmarks