0

我想要做的是从表单中创建一个条目列表,但是如果在表单中多次输入相同的条目,我不希望在列表中多次显示相同的条目。例如,假设一个人输入“1”,然后两个人输入“2”,我只希望 2 在列表中出现一次。我可以为此使用什么功能?

4

3 回答 3

2

最好的方法应该是将所有条目存储在一个数组(基本数字索引数组)中,然后删除重复项

uniqueEntries = array_unique($yourEntries);

文档:array_unique

代码示例:

$entries = array();
$entries[] = 1;
$entries[] = 1;
$entries[] = 2;

$entries = array_unique($entries);

print_r($entries);

将输出:

Array
(
    [0] => 1
    [2] => 2
)
于 2013-03-30T00:30:19.140 回答
1

在这种情况下,您应该使用PHP Arrays。数组是二维表。

/* Array
 * key => value
 * @key personID
 * @value optionValue
 */
$array = array(
    1 => 1, // Person 1 chose Option 1
    2 => 2, // Person 2 chose Option 2
    3 => 2  // Person 3 chose Option 2
);
print_r($array);

印刷

Array
(
    [1] => 1 
    [2] => 2 
    [3] => 2
)

您现在可以通过访问数组来获取一组唯一值array_unique($array);

$array_unique = array_unique($array);
$array_unique_values = array_values($array_unique);

// Access array values directly and store into variables.
// Notice that arrays in PHP start with the index zero.
$option1 = $array_unique_values[0];
$option2 = $array_unique_values[1];

echo "Option #1: " . $option1 . "\n";
echo "Option #2: " . $option2;

印刷

Option #1: 1
Option #2: 2

瞧。

于 2013-03-30T01:21:51.923 回答
0

您在 PHP 中没有内置函数。但是您可以尝试以下方法:

$echoList = array();
function echoOnce( $text )
{
   global $echoList;
   if(!in_array($text, $echoList)) {
      echo $text;
      $echoList[] = $text;
   }
}

然后只需使用echoOnce( "whatever" )而不是echo "whatever"

于 2013-03-30T00:29:08.907 回答