循环逻辑的数组,唯一的id

时间:2014-10-28 08:33:18

标签: php logic analysis

我希望有人知道我是怎么做到的。

我有这些数据:

0 -> id=1 other_id = 2
1 -> id=1 other_id = 3
2 -> id=1 other_id = 4
3 -> id=2 other_id = 7
4 -> id=2 other_id = 5

现在,在我的循环中,我想推送唯一ID并连接其他id数据,结果将是:

0-> id=1 other_ids = 2,3,4
1-> id=2 other_ids = 7,5

我正在考虑使用临时变量但不能进行数据结构。

顺便说一下,我使用codeigniter,结果来自模型,我想通过php在控制器中操作它。

1 个答案:

答案 0 :(得分:0)

我希望能帮到你

第1步:创建班级

public class Person
    {
        public int id { get; set; }
        public int other_id { get; set; }
    }

第1步:此代码将帮助您

string output = string.Empty;

        List<Person> lst = new List<Person>();
        lst.Add(new Person(){ id= 1, other_id = 2});
        lst.Add(new Person(){ id= 1, other_id = 3});
        lst.Add(new Person(){ id= 1, other_id = 4});
        lst.Add(new Person(){ id= 2, other_id = 7});
        lst.Add(new Person(){ id= 2, other_id =5 });

        List<int> idlst = new List<int>();
        idlst = lst.Select(x => x.id).Distinct().ToList();


        foreach (int _id in idlst) 
        {
            List<int> other_idlist = lst.Where(x => x.id == _id).Select(x=> x.other_id).ToList();
            output += string.Format("id={0} other_ids = {1}", _id, string.Join(",", other_idlist)) + Environment.NewLine;
        }

        MessageBox.Show(output);