【问题标题】:Display Object as arranged in array按数组排列的显示对象
【发布时间】:2012-08-30 08:23:58
【问题描述】:

我有一个对象 student ,它具有诸如 student->name 、 student->age 、 student->marks 、 student->id 等变量

我试过这个: 我这样做是为了得到排序的 id 数组

foreach($student as $s){
array_push($student_id_array,$s->id) }
sort($student_id_array);

所以我有学生的排序 id 数组, 但是我怎样才能以与 $student_id_array 相同的顺序显示 100 个 $student 实例?

【问题讨论】:

  • 删除$student_id_array..的引号。现在它是一个字符串而不是一个数组。
  • 酷,谢谢@Sven,但获取学生 ID 的排序数组不是问题
  • 我知道,但值得一提 ;)

标签: php arrays codeigniter sorting


【解决方案1】:

这将根据每个$student->id 对所有$students 数组进行排序:

$stud = array (
                (object)array('name' => 'John Doe', 'id' => 1),
                (object)array('name' => 'Jane Doe', 'id' => 3),
                (object)array('name' => 'Luke Will', 'id' => 4),
                (object)array('name' => 'Eric Sting', 'id' => 2)
            );
$Students = array();
foreach($stud as $s){
     $Students[$s->id] = $s;
}
ksort($Students);

foreach($Students as $s){
     echo $s->name; 
}

【讨论】:

  • 这如何考虑到我排序的学生 ID?
  • 为什么不对所有$students数组进行排序?重做答案..试试看
  • 嗯我喜欢这个(数组)的东西,我试试然后回来
  • @MihaiLorga 我可以在 ksort($newArray) 之后将 $newArray 转换为对象吗?
  • 为什么需要转换为对象?去掉$s前面的(array)
【解决方案2】:

您可以按顺序显示数组(创建数组的顺序),方法是这样循环:

foreach($student_id_array as $student) {
    echo 'student #' . $student->id . ', name: ' . $student->name . '<br/>';
}

【讨论】:

  • 嗯,让我试试这个,过段时间会回来
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-11
  • 2017-01-13
  • 2021-12-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多