foreach用一个简单的变量?

时间:2016-12-13 16:20:35

标签: php

我有一个看起来像这样的页面:

<?php $items = isset($_GET['id']) ? gg::getItemID($_GET['id']) : gg::getAllItems();?>
...code
...code
<?php foreach ($items as $item):?>
...code
...code
...code
<?php endforeach;?>
...code

方法getItemID()将获取表格中的特定行并将其返回,而getAllItems()将获取所有这些行。

但是foreach无法与$items = gg::getItemID($_GET['id']合作,而且我真的不知道如何建立一种通用的方式&#34;无论是getItemID()还是getAllItems(),都可以使其发挥作用。

有一种简单的方法吗?

1 个答案:

答案 0 :(得分:5)

即时制作阵列:

$items = isset($_GET['id']) ? array(gg::getItemID($_GET['id'])) : gg::getAllItems();
//                            ^ use array() to force it to be an array

请注意,您不需要像其中一条注释所指定的那样指定索引(如'0' => ...)。该元素将自动获取索引0(整数)。

另外,请务必仔细处理$_GET['id']值。根据{{​​1}}的作用,您可能会遇到SQL injection漏洞。