gpt4 book ai didi

php - 在php中排序数据列表?

转载 作者:行者123 更新时间:2023-12-04 05:58:30 25 4
gpt4 key购买 nike

嗨,我在 table 上有一个国家/地区列表,所以我正在按国家/地区名称进行排序,然后我得到了这样的 A-Z 位置 Afghanistan, Bangladesh,Cape Verde, Denmark,Equatorial Guinea,Falkland Islands,USA, Yemen , Zambia但实际上我需要美国在上面(我的意思是第一个元素),就像这个订单USA,Afghanistan, Bangladesh,Cape Verde, Denmark,Equatorial Guinea,Falkland Islands, Yemen , Zambia这是我的代码

<?php
require 'dbconnect.php';
$empty=array();
$c=0;

$query="select * from phpfox_country";
$result=mysql_query($query);

if($result)
{
while($row=mysql_fetch_row($result))
{

if($row[1]=="United States")
{
$message=array("country_iso"=>$row[0],"name"=>$row[1])
}
else
{
$message[$c]=array("country_iso"=>$row[0],"name"=>$row[1]);
}

$c++;
}
$message=($message==null)?$empty:$message;
}
else
{
$message=array("message"=>"error in code");
}
echo json_encode($message);
?>

感谢提前。

最佳答案

看起来您的代码中存在一些错误。一、通过设置$c默认情况下为 0 并将其用作数组索引,您将按字母顺序将第一个国家/地区分配给该插槽,而不是美国。更糟糕的是,当您实际到达带有 USA 的行时,您不会将其添加到现有数组中,而是通过分配一个新数组来覆盖该数组。

我建议你不要使用 $c根本。而是从一个空数组开始,将 USA 添加到数组的前面,将所有其他国家添加到数组的末尾。至于排列记录,使用 SQL 查询最容易。下面的代码假设具有国家名称的列名为 name - 如果不是,您可以自己解决此问题。

<?php
require 'dbconnect.php';
// Create empty array
$message=array();

$query="SELECT * FROM phpfox_country ORDER BY name ASC";
$result=mysql_query($query);

if($result)
{
while($row=mysql_fetch_row($result))
{
if($row[1]=="United States")
{
// Add to start of the array
array_unshift($message, array("country_iso"=>$row[0],"name"=>$row[1]));
}
else
{
// Add to end of the array
$message[]=array("country_iso"=>$row[0],"name"=>$row[1]);
}
}
}
else
{
$message=array("message"=>"error in code");
}
echo json_encode($message);
?>

关于php - 在php中排序数据列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9224726/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com