代码之家  ›  专栏  ›  技术社区  ›  Dan

数组转换删除索引

  •  -5
  • Dan  · 技术社区  · 8 年前

    下面的函数,即getBooksInsertedCount代码给出如下输出

      array(3) {
      [0]=>
      string(1) "1"
      [1]=>
      string(1) "2"
      [2]=>
      string(1) "1"
    }
    

    GetBooksInsertedCount

    function getBooksInsertedCount()
    {  
      $this->load->database();    
      $query = "SELECT count(book_id) as count,date(created_date) as cdate FROM `bookdetails` WHERE  (created_date BETWEEN '2018-06-25' AND '2018-06-28') GROUP by created_date order by created_date asc";
      $result = $this->db->query($query);
     $ret = array();
    
       foreach ($result->result_array() as $row ) {
                $ret[] = $row['count'];
       } 
         return $ret;
      }
    

    预期输出(注意:[0]=>字符串(1)已删除)

    array(1, 2, 1);
    
    2 回复  |  直到 8 年前
        1
  •  0
  •   Script47    8 年前

    你可以用 cast 值(输入杂耍)。

    改变,

    $ret[] = $row['count'];
    

    到,

    $ret[] = (int) $row['count'];
    
        2
  •  1
  •   Bert H András    8 年前

    除了类型(string vs int)之外,您的预期输出与当前输出匹配。

    如果我正确理解您的问题,您需要删除数组索引。

    创建这样的数组时 array('first', 'second') ,每个值都会根据其位置分配一个索引,不可能删除该索引(也会使您很难从中选择所需的内容)。

    所以上面的例子与 array(0 => 'first', 1 => 'second') 是的。

    推荐文章