我想要做的是从表单中创建条目列表,但如果在表单中多次输入同一个条目,则不希望同一个条目在列表中多次显示。例如,假设一个人输入“1”,但随后两个人输入“2”,我只希望2在列表中出现一次。我可以使用什么功能?只有当它还没有被回显时才会回声?
0
A
回答
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
瞧。
0
在PHP中没有内置函数。但是你可以用类似尝试:
$echoList = array();
function echoOnce($text)
{
global $echoList;
if(!in_array($text, $echoList)) {
echo $text;
$echoList[] = $text;
}
}
,然后只用echoOnce("whatever")
代替echo "whatever"
+0
对这样的东西使用一个全局变量是不必要的,更不用说它在你的代码中引入一个全局依赖,'in_array()'将执行一个'O(n)'搜索来输出一个变量。这对我来说似乎非常低效。 – nickb
2
,最好的办法应该是所有条目存储在数组中(基本数值索引数组),然后删除与
uniqueEntries = array_unique($yourEntries);
复制的文档:代码array_unique
例如:
$entries = array();
$entries[] = 1;
$entries[] = 1;
$entries[] = 2;
$entries = array_unique($entries);
print_r($entries);
将输出:
3210相关问题
- 1. 只有当MySQL值匹配时才会回显文本
- 2. 只有当第一个被点击时,JQuery才会显示
- 3. 只有当它有一些行显示时才显示表
- 4. 回声没有显示
- 5. PHP只有在其他PHP引用存在时才会回显?
- 6. 回声“你还没有输入文件”
- 7. 只有当复选框没有被选中时才会调用javascript函数
- 8. 只有当它有一些值时才显示textarea
- 9. 只有当没有存在时,才会添加.html
- 10. Php的Mysql回声只有一半的结果,有时没有
- 11. 只有当用户有权限时才返回结果
- 12. 只有当所有信息都为真时才返回行
- 13. 显示只有当它被选中
- 14. 只有当它被设置时才获取字符串值c#
- 15. Linux屏幕 - 只有当它存在时才会被杀死(jenkins作业)
- 16. 只有当复选框被选中时,jquery才会运行
- 17. 只有当图片被触摸时才会拖动图片
- 18. 只有当它包含某个值时,才会重置值
- 19. jQuery。只有当表格框被选中时才显示div
- 20. 当只有一个记录被发现时,ActiveRecord没有返回迭代
- 21. 只有回声整数
- 22. 回声只有唯一值
- 23. 只有当用户登录时才会显示文章
- 24. 只有当href文件存在时才会显示链接
- 25. 只有给定列只有一个值时才返回行
- 26. 只有当回调函数调用时才生成矢量
- 27. 只有当结果状态完成时才执行CompletableFuture回调
- 28. 只有当SELECT返回时才执行DELETE
- 29. 只有当get_id()返回self.email时,flask-login才能工作.email
- 30. javascript:onsubmit只有在检测到“返回false”时才会执行
非常欢迎。 请考虑[语言>类型>数组](http://www.php.net/manual/en/language.types.array.php)和[数组函数](http://www.php.net) /manual/en/ref.array.php)了解更多关于PHP及其函数的信息。 –