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

如何从数组中获取所有值而不与sql查询混合[[副本]

  •  1
  • HemalHerath  · 技术社区  · 6 年前

    我有一个数组调用newArray();

    $values = array_count_values($books);
    
    arsort($values);
    
    $newArray = array_keys($values);
    

    Array ( [0] => 37 [1] => 31 [2] => 29 [3] => 28 [4] => 20 [5] => 26 [6] => 34 [7] => 30 [8] => 25 )
    

    如何获取该数组中的前5个索引,以及如何为这些剩余值编写查询

    作为例子

    [0]=>从这里拿走37块

    从书桌上拿书,id等于37之类的

    任何事都会有帮助的

    数组([0]=>37[1]=>31[2]=>29[3]=>28[4]=>20[5]=>26[6]=>34[7]=>30[8]=>25 )
    

    if(!empty($books)) {    
    
                $values = array_count_values($books);
    
                arsort($values);
    
                $newArray = array_keys($values);
    
                $views_books_array = array_slice($newArray, 0, 5);
    
                $result = $this->db->where_in('book_id',$views_books_array)->get('books');
    
                print_r($result);
                return $result->result_array();
    }
    

    $result得不到我需要的东西我做错了什么?

    1 回复  |  直到 6 年前
        1
  •  1
  •   Madhur Bhaiya    6 年前

    尝试 array_slice() 功能:

    // it will get 5 values from $books, starting from 0 offset (first position)
    $values = array_count_values(array_slice($books, 0, 5));