【问题标题】:get content from resultset into array php从结果集中获取内容到数组php
【发布时间】:2013-04-04 11:58:43
【问题描述】:

我有一个来自 mysql 查询的结果集 使用像 SELECT DISTINCT c.id as course_id, c.fullname as fullname, c.shortname as shortname 这样的查询,它返回为 $return[],我想做的是从这个结果集中获取一个 c.id 并将其存储在数组中。我有

foreach($returnSet as $rs)
{
    $i = 0;
    $courses=array($course->course_id[$i]);
    $i++;
}

这是正确的做法,还是我走错了路,有人有什么指导方针吗?)

【问题讨论】:

  • 测试它并调试它......谷歌一点。如果仍然不清楚......那么堆栈是你的正确位置
  • 在 foreach 外部定义数组,在 foreach 内部使用类似 array_push 的东西。

标签: php arrays resultset


【解决方案1】:

应该是这样的

$cources = array();
foreach($returnSet as $rs)
{
     $courses[] = $rs->course_id;
}

【讨论】:

    【解决方案2】:

    你可以这样做:

    $courses = array();
    if (!empty($returnSet)) { //check if the $returnSet has anything inside it
       foreach($returnSet as $rs) {
          $courses[] = isset($rs->course_id) ? $rs->course_id : '';
       }
    }
    
    print_r($courses);
    

    希望这会有所帮助:)

    【讨论】:

      【解决方案3】:

      我不确定我是否正确理解了您的问题,但我认为答案是:

      $array = array();
      
      $query = mysql_query("SELECT DISTINCT c.id as course_id, c.fullname as fullname, c.shortname as shortname") or die(mysql_error());
      while($data = mysql_fetch_assoc($query)){
        $array[] = $data["course_id"];
      }
      
      print_r($array); #=> array(1, 2, 3, 4...)
      

      【讨论】:

        猜你喜欢
        • 2012-05-17
        • 1970-01-01
        • 1970-01-01
        • 2016-07-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-07-09
        • 2011-09-04
        相关资源
        最近更新 更多