我正在使用sort来按字母顺序对数组进行排序,就像这样:
$Consumer[] = "Norman";
$Consumer[] = "Food";
$Consumer[] = "Clothes";
$Consumer[] = "Chips";
但是当我使用这段代码输出数组时,它将不起作用。
$cat = sort($Consumer);
foreach ($cat as $value)
{
echo '<option value="'.$value.'">'.$value.'</option>';
}
如果删除排序,它会起作用。我在这里做错了什么,我该怎么做呢?
答案 0 :(得分:4)
sort
函数返回布尔值,因此您将覆盖数据。
它会通过引用修改您的$Consumer
变量。
尝试:
sort($Consumer);
foreach ($Consumer as $value)
{
echo '<option value="'.$value.'">'.$value.'</option>';
}
答案 1 :(得分:3)
如the docs中所示,sort通过引用进行操作并返回一个布尔值
bool sort(array&amp; $ array [,int $ sort_flags = SORT_REGULAR])
所以$cat
是布尔值(true或false)。
以下是您的代码的工作示例:
$Consumer[] = "Norman";
$Consumer[] = "Food";
$Consumer[] = "Clothes";
$Consumer[] = "Chips";
sort($Consumer);
foreach ($Consumer as $value)
{
echo '<option value="'.$value.'">'.$value.'</option>';
}