Php 不重复地循环和排序结果

Php 不重复地循环和排序结果,php,mysql,loops,foreach,Php,Mysql,Loops,Foreach,你能告诉我什么是转换结果而不重复的好方法吗 $numbers = array ('1', '5', '10'); foreach ($numbers as $number){ $query[] = $this->db->query("SELECT name, country FROM name WHERE id= '" . (int)$number .'"") } 结果 Array ( Array ( name = ivan country = en

你能告诉我什么是转换结果而不重复的好方法吗

$numbers = array ('1', '5', '10');
 foreach ($numbers as $number){
  $query[] = $this->db->query("SELECT name, country FROM name WHERE id= '" . (int)$number .'"")
 }
结果

 Array (
  Array (
   name = ivan
   country = en
  )
  Array(
   name = Peter
   country = en
  )
  Array (
   name = sisi's
   country = en
  )
 )
如何对结果进行这样的排序

  Array(
   country = en
   name = array (
     sisi's
     Peter
     Ivan
   )
 )

您需要修改您的查询

$numbers=数组('1','5','10');
$sql=“选择不同的国家/地区,
组_CONCAT(名称)作为名称
从名字
其中id位于(“.infrade(',',$numbers)。”
按国家分组”;
$this->db->query($sql);

得到结果后,可以使用explode函数将字符串名称转换为数组

您需要修改您的查询

$numbers=数组('1','5','10');
$sql=“选择不同的国家/地区,
组_CONCAT(名称)作为名称
从名字
其中id位于(“.infrade(',',$numbers)。”
按国家分组”;
$this->db->query($sql);

得到结果后,可以使用explode函数将字符串名称转换为数组

结果似乎不对。在您的表
name
中显然有一个名为
id
的列,但是当您选择所有列时,
id
不会显示在结果中。你是说数据库中有重复项吗?如果数据库中有多个国家该怎么办?在php循环中重新格式化数组。@KIKO软件是的,这是一个Id,我还重新编写了代码,如果有多个国家,最好在数组中用它们的名称排序,但不知道如何做it@u_mulder你是什么意思?你能举一些例子吗?如何使用数组的例子可以在互联网上找到。结果似乎不正确。在您的表
name
中显然有一个名为
id
的列,但是当您选择所有列时,
id
不会显示在结果中。你是说数据库中有重复项吗?如果数据库中有多个国家该怎么办?在php循环中重新格式化数组。@KIKO软件是的,这是一个Id,我还重新编写了代码,如果有多个国家,最好在数组中用它们的名称排序,但不知道如何做it@u_mulder你是什么意思?你能展示一些例子吗?如何使用阵列的例子可以在互联网上找到。你是明星,看起来很简单:)我以后会试试你是明星,看起来很简单:)我以后会试试