<?
$nimi = $_POST['nimi'];
$nimed = $_POST['nimed'];
if ($nimi) {
if ($nimed) {
$nimed .= ', ' .$nimi;
}
else {
$nimed = $nimi;
}
}
?>
<html>
<form method="post">
Sisesta nimi:
<input type="text" name="nimi" size="9" />
<input type="hidden" name="nimed" value="<?= $nimed ?>" />
<input type="submit" value="Lisa" />
</form>
<?
$m = explode(', ',$nimed);
sort ($m);
if ($nimi) {
echo '<ol>';
foreach ($m as $nimi) {
echo "<li>$nimi<br /></li>";
}
}
echo '</ol>';
?>
</html>
E:我应该把它放在哪里,因为它应该说“这个名字已经在将其添加到列表中”
if (in_array($nimi,$m)) {}
答案 0 :(得分:1)
我假设$ nimi是一个单一名称,$ nimed是提交的名字列表。
如果你想确保双重名称不在列表中且仍然输出,你可以在将名称连接到列表之前检查in_array,这是
的内容。if($nimi) {
if($nimed) {
if(strpos($nimi,$nimed) === false) {
echo("THIS NAME IS ALREADY THERE INSTEAD OF ADDING IT TO THE LIST");
}
else {
$nimed .= $nimed . ', ' . $nimi;
... snip ...
编辑:答案的第一部分很糟糕。除去。
答案 1 :(得分:1)
$nimi = $_POST['nimi'];
$nimed = $_POST['nimed'];
$added = false;
if ($nimi) {
if ($nimed) {
$temp = explode(', ',$nimed);
if (!in_array($nimi,$temp)) {
$nimed .= ', ' .$nimi;
$added = true;
}
}
else {
$nimed = $nimi;
}
}
...
if ($nimi && !$added) {
echo 'Already in array';
}