1

我正在使用 sort 按字母顺序对数组进行排序,如下所示:

$Consumer[] = "Norman";
$Consumer[] = "Food";
$Consumer[] = "Clothes";
$Consumer[] = "Chips";

但是当我使用这段代码输出数组时,它就不起作用了。

$cat = sort($Consumer);
foreach ($cat as $value) 
{
   echo '<option value="'.$value.'">'.$value.'</option>';
}

如果我删除排序,它会起作用。我在这里做错了什么,如何正确设置?

4

2 回答 2

4

sort函数返回布尔值,因此您正在覆盖数据。$Consumer它通过引用修改您的变量。

尝试:

sort($Consumer);
foreach ($Consumer as $value) 
{
   echo '<option value="'.$value.'">'.$value.'</option>';
}
于 2012-09-18T12:27:36.053 回答
3

按引用排序行为

文档中所示,排序按引用执行并返回布尔值

布尔排序(数组 &$array [, int $sort_flags = SORT_REGULAR])

布尔值也是如此$cat(真或假)。

以下是您的代码的工作示例:

$Consumer[] = "Norman";
$Consumer[] = "Food";
$Consumer[] = "Clothes";
$Consumer[] = "Chips";

sort($Consumer);
foreach ($Consumer as $value) 
{
   echo '<option value="'.$value.'">'.$value.'</option>';
}
于 2012-09-18T12:27:18.820 回答