original_string: public function select_all_by_keys($table, array $fields = [], array $where = [], array $order = [], int $limit = 0, int $start = 0): ?array
    {
      if ( $rows = $this->rselect_all($table, $fields, $where, $order, $limit, $start) ){
        return x::index_by_first_val($rows);
      }
      return $this->check() ? [] : null;
    }
code: public function select_all_by_keys($table, array $fields = [], array $where = [], array $order = [], int $limit = 0, int $start = 0): ?array
    {
      if ( $rows = $this->rselect_all($table, $fields, $where, $order, $limit, $start) ){
        return x::index_by_first_val($rows);
      }
      return $this->check() ? [] : null;
    }
code_tokens: public function select_all_by_keys ( $ table , array $ fields = [ ] , array $ where = [ ] , array $ order = [ ] , int $ limit = 0 , int $ start = 0 ) : ? array { if ( $ rows = $ this -> rselect_all ( $ table , $ fields , $ where , $ order , $ limit , $ start ) ) { return x :: index_by_first_val ( $ rows ) ; } return $ this -> check ( ) ? [ ] : null ; }
docstring: Return an array indexed on the first field of the request.
  The value will be an array if the request has more than two fields.
  Return the same value as "get_key_val".
  
  ```php
  \bbn\x::dump($db->select_all_by_keys("table_users", ["name","id","surname"], [["id", ">", "1"]], ["id" => "ASC"]);
  /*
  (array)[
  "John" => [
  "surname" => "Brown",
  "id" => 3
  ],
  "Michael" => [
  "surname" => "Smith",
  "id" => 4
  ]
  ]
  ```
  
  @param string|array $table The table's name or a configuration array
  @param array $fields The fields's name
  @param array $where The "where" condition
  @param array|boolean $order The "order" condition
  @param int $limit The $limit condition, default: 0
  @param int $start The $limit condition, default: 0
  @return array|false
docstring_tokens: Return an array indexed on the first field of the request . The value will be an array if the request has more than two fields . Return the same value as get_key_val .