Menu

## Driver extends Query
in package

Driver.php : 24

Kotchasan Database driver Class (base class)

##### Tags

see
  https://www.kotchasan.com/

### Table of Contents

$cache : DbCache
$cache_item : CacheItem
$cfg : object
  Config class instance.
$connection : object
$db : Driver
  Database connection.
$debugger : int
  1 แสดง Query ข้อความอย่างเดียวสำหรับใส่ลงใน console 2 แสดง Query ด้านล่างจอภาพ
$error_message : string
$query_count : int
$request : Request
  Server request class instance.
$result_id : resource|object
$sqls : array<string|int, mixed>
  ตัวแปรเก็บคำสั่ง SQL
__construct() : mixed
  Class constructor
cacheGetAction() : int
  Get the cache action.
cacheOn() : static
  Enable caching.
cacheSave() : bool
  Save cache data.
close() : mixed
  Close the database connection.
connection() : resource
  Get the current database connection.
createQuery() : QueryBuilder
  Create a new query builder instance.
customQuery() : array<string|int, mixed>
  Process an SQL query command to retrieve data.
databaseExists() : bool
  Checks if a database exists.
db() : Driver
  Get the database connection.
debug() : mixed
  คำสั่งสำหรับแสดง Query ออกทางหน้าจอ ใช้ในการ debug Query 1 แสดง Query ข้อความอย่างเดียวสำหรับใส่ลงใน console 2 แสดง Query ด้านล่างจอภาพ
delete() : bool
  Deletes records from a table based on the given condition.
emptyTable() : bool
  Empties a table by deleting all its records.
execQuery() : mixed
  Executes one or multiple SQL queries and returns the result.
fieldCount() : int
  Returns the number of fields in the query result.
fieldExists() : bool
  Checks if a column exists in the table.
find() : array<string|int, mixed>
  Queries data and returns all items matching the condition.
first() : mixed
  Queries data and returns the first item matching the condition.
getAllSettings() : object
  Get all database settings.
getError() : string
  Returns the error message of the database.
getFields() : array<string|int, mixed>
  Returns the list of all fields from the query result.
getFullTableName() : string
  ฟังก์ชั่นอ่านชื่อตารางจากการตั้งค่าฐานข้อมุล คืนค่า ชื่อตารางรวม prefix ถ้าไม่มีชื่อกำหนดไว้ จะคืนค่า $table ครอบชื่อตารางด้วย ``
getNextId() : int
  Gets the next ID for the specified table based on the primary key.
getSetting() : mixed
  Get the value of a database setting.
getTableName() : string
  ฟังก์ชั่นอ่านชื่อตารางจากการตั้งค่าฐานข้อมุล คืนค่า ชื่อตารางรวม prefix ถ้าไม่มีชื่อกำหนดไว้ จะคืนค่า $table
indexExists() : bool
  Check if an index exists in a table.
insert() : int|bool
  Insert new data into a table.
insertOrUpdate() : int
  Insert new data into a table or update existing data if a unique key constraint is violated.
makeQuery() : string
  Generate an SQL query command.
optimizeTable() : bool
  Optimize a table.
query() : bool
  Execute an SQL query that does not require a result, such as CREATE, INSERT, or UPDATE.
queryCount() : int
  Get the total count of executed SQL queries.
repairTable() : bool
  Repair a table.
select() : array<string|int, mixed>
  Retrieve data from a table.
selectDB() : bool
  Selects a database.
tableExists() : bool
  Check if a table exists.
text() : string
  ฟังก์ชั่นสร้างคำสั่ง SQL เป็นข้อความ
update() : bool
  Updates data in the specified table.
updateAll() : bool
  Update data for all records in a table.
aliasName() : string
  ฟังก์ชั่นสร้างคีย์ สำหรับการ execute
buildGroup() : string
  สร้าง query สำหรับ GROUP BY
buildJoin() : string
  สร้างคำสั่ง JOIN ถ้าไม่มี alias คืนค่าว่าง
buildOrder() : string
  สร้าง query เรียงลำดับ
buildSelect() : string
  ฟังก์ชั่นสร้าง query string สำหรับคำสั่ง SELECT
buildValue() : string
  แปลงข้อมูลรูปแบบ SQL รูปแบบ array('field1', 'condition', 'field2') ไม่ระบุ condition หมายถึง = หรือ IN
buildWhere() : string|array<string|int, mixed>
  ฟังก์ชั่นสร้างคำสั่ง WHERE คืนค่า string สำหรับคำสั่ง WHERE หรือคืนค่า array(where, values) สำหรับใช้กับการ bind
buildWhereValues() : array<string|int, mixed>
  ฟังก์ชั่นสร้างคำสั่ง WHERE และ values ไม่ใส่ alias ให้กับชื่อฟิลด์ คืนค่า ($condition, $values)
doCustomQuery() : array<string|int, mixed>|bool
  Execute an SQL query for retrieving data.
doQuery() : int|bool
  Execute an SQL query that does not require a result, such as CREATE, INSERT, or UPDATE.
fieldName() : string
  แปลงข้อความสำหรับชื่อฟิลด์หรือชื่อตาราง
fieldValue() : string
  แปลงข้อความสำหรับ value
groupAnd() : Sql
  ฟังก์ชั่นสำหรับจัดกลุ่มคำสั่ง และ เชื่อมแต่ละกลุ่มด้วย AND
groupOr() : Sql
  ฟังก์ชั่นสำหรับจัดกลุ่มคำสั่ง และ เชื่อมแต่ละกลุ่มด้วย OR
log() : mixed
  Log the SQL query.
quoteTableName() : string
  ฟังก์ชั่นอ่านชื่อตารางและชื่อรอง และใส่ ` ครอบชื่อตารางด้วย
whereValue() : array<string|int, mixed>|string
  สร้างคำสั่ง WHERE

### Properties

#### $cache

Driver.php : 29
`protected DbCache $cache`

cache class

#### $cache_item

Driver.php : 34
`protected CacheItem $cache_item`

Cacheitem

#### $cfg

KBase.php : 26

Config class instance.

`protected static object $cfg`

#### $connection

Driver.php : 39
`protected object $connection = null`

database connection

#### $db

Db.php : 29

Database connection.

`protected Driver $db`

#### $debugger

Query.php : 28

1 แสดง Query ข้อความอย่างเดียวสำหรับใส่ลงใน console 2 แสดง Query ด้านล่างจอภาพ

`protected int $debugger = 0`

#### $error_message

Driver.php : 44
`protected string $error_message = ''`

database error message

#### $query_count

Driver.php : 49
`protected static int $query_count = 0`

number of queries

#### $request

KBase.php : 33

Server request class instance.

`protected static Request $request`

#### $result_id

Driver.php : 54
`protected resource|object $result_id`

result object from query

#### $sqls

Driver.php : 59

ตัวแปรเก็บคำสั่ง SQL

`protected array<string|int, mixed> $sqls`

query statements for execution

### Methods

#### __construct()

Driver.php : 64

Class constructor

`public __construct() : mixed`

##### Return values

mixed —

#### cacheGetAction()

Driver.php : 79

Get the cache action.

`public cacheGetAction() : int`

Returns the cache action status:

- 0: Cache is not used.
- 1: Load and automatically save cache.
- 2: Load data from cache, but do not automatically save cache.

##### Return values

int —

The cache action status

#### cacheOn()

Driver.php : 91

Enable caching.

`public cacheOn([bool $auto_save = true ]) : static`

##### Parameters

$auto_save : bool = true

  (optional) Whether to automatically save the cache results (default: true)

##### Return values

static —

#### cacheSave()

Driver.php : 104

Save cache data.

`public cacheSave(array<string|int, mixed> $datas) : bool`

##### Parameters

$datas : array<string|int, mixed>

  The data to be saved

##### Return values

bool —

True if the cache is saved successfully, false otherwise

#### close()

Driver.php : 115

Close the database connection.

`public close() : mixed`

##### Return values

mixed —

#### connection()

Driver.php : 125

Get the current database connection.

`public connection() : resource`

##### Return values

resource —

The database connection

#### createQuery()

Driver.php : 135

Create a new query builder instance.

`public createQuery() : QueryBuilder`

##### Return values

QueryBuilder —

The query builder instance

#### customQuery()

Driver.php : 152

Process an SQL query command to retrieve data.

`public customQuery(string $sql[, bool $toArray = false ][, array<string|int, mixed> $values = [] ]) : array<string|int, mixed>`

Returns an array of records that match the conditions. If no records are found, an empty array is returned.

##### Parameters

$sql : string

  The query string

$toArray : bool = false

  Optional. Default is false. Set to true to return results as an array, otherwise returns results as objects.

$values : array<string|int, mixed> = []

  Optional. If specified, prepares the query using these values instead of executing the query directly.

##### Return values

array<string|int, mixed> —

An array of records that match the conditions

#### databaseExists()

Driver.php : 170

Checks if a database exists.

`public databaseExists(string $database) : bool`

##### Parameters

$database : string

  The name of the database to check

##### Return values

bool —

Returns true if the database exists, false otherwise

#### db()

Db.php : 46

Get the database connection.

`public db() : Driver`

##### Return values

Driver —

The database connection.

#### debug()

Query.php : 44

คำสั่งสำหรับแสดง Query ออกทางหน้าจอ ใช้ในการ debug Query 1 แสดง Query ข้อความอย่างเดียวสำหรับใส่ลงใน console 2 แสดง Query ด้านล่างจอภาพ

`public debug([int $value = 1 ]) : mixed`

##### Parameters

$value : int = 1

##### Return values

mixed —

#### delete()

Driver.php : 186

Deletes records from a table based on the given condition.

`public delete(string $table_name, array<string|int, mixed>|string $condition[, int $limit = 1 ][, string $operator = 'AND' ]) : bool`

##### Parameters

$table_name : string

  The name of the table to delete records from

$condition : array<string|int, mixed>|string

  The condition for deleting records (can be an array or a string)

$limit : int = 1

  Optional. The maximum number of records to delete (default: 1)

$operator : string = 'AND'

  Optional. The operator used to combine multiple conditions (default: 'AND')

##### Return values

bool —

Returns true if the delete operation is successful, false otherwise

#### emptyTable()

Driver.php : 209

Empties a table by deleting all its records.

`public emptyTable(string $table_name) : bool`

##### Parameters

$table_name : string

  The name of the table to empty

##### Return values

bool —

Returns true if the table is successfully emptied, false otherwise

#### execQuery()

Driver.php : 223

Executes one or multiple SQL queries and returns the result.

`public execQuery(mixed $sqls[, array<string|int, mixed> $values = [] ], int $debugger) : mixed`

##### Parameters

$sqls : mixed

  The SQL query or an array of SQL queries to execute

$values : array<string|int, mixed> = []

  An array of parameter values to bind to the query (optional)

$debugger : int

  Debugging mode: 0 - disabled, 1 - echo debug info, 2 - collect debug info (optional)

##### Return values

mixed —

Returns the result of the executed query/queries

#### fieldCount()

Driver.php : 267

Returns the number of fields in the query result.

`public abstract fieldCount() : int`

##### Return values

int —

The number of fields

#### fieldExists()

Driver.php : 277

Checks if a column exists in the table.

`public fieldExists(string $table_name, string $column_name) : bool`

##### Parameters

$table_name : string

  The table name

$column_name : string

  The column name

##### Return values

bool —

True if the column exists, false otherwise

#### find()

Driver.php : 292

Queries data and returns all items matching the condition.

`public find(string $table_name, mixed $condition[, array<string|int, mixed> $sort = [] ]) : array<string|int, mixed>`

##### Parameters

$table_name : string

  The table name

$condition : mixed

  The query WHERE condition

$sort : array<string|int, mixed> = []

  Sorting options

##### Return values

array<string|int, mixed> —

An array of objects representing the retrieved data, or an empty array if not found

#### first()

Driver.php : 309

Queries data and returns the first item matching the condition.

`public first(string $table_name, mixed $condition) : mixed`

##### Parameters

$table_name : string

  The table name

$condition : mixed

  The query WHERE condition

##### Return values

mixed —

An object representing the retrieved data, or false if not found

#### getAllSettings()

Db.php : 70

Get all database settings.

`public getAllSettings() : object`

##### Return values

object —

The database settings object.

#### getError()

Driver.php : 320

Returns the error message of the database.

`public getError() : string`

##### Return values

string —

The error message

#### getFields()

Driver.php : 330

Returns the list of all fields from the query result.

`public abstract getFields() : array<string|int, mixed>`

##### Return values

array<string|int, mixed> —

An array containing the names of all fields

#### getFullTableName()

Query.php : 58

ฟังก์ชั่นอ่านชื่อตารางจากการตั้งค่าฐานข้อมุล คืนค่า ชื่อตารางรวม prefix ถ้าไม่มีชื่อกำหนดไว้ จะคืนค่า $table ครอบชื่อตารางด้วย ``

`public getFullTableName(string $table) : string`

##### Parameters

$table : string

  ชื่อตารางตามที่กำหนดใน settings/datasbase.php

##### Return values

string —

#### getNextId()

Driver.php : 342

Gets the next ID for the specified table based on the primary key.

`public getNextId(string $table_name[, array<string|int, mixed> $condition = [] ][, string $operator = 'AND' ][, string $primary_key = 'id' ]) : int`

##### Parameters

$table_name : string

  The name of the table.

$condition : array<string|int, mixed> = []

  An array of conditions for the query (default is empty).

$operator : string = 'AND'

  The logical operator for combining conditions (default is 'AND').

$primary_key : string = 'id'

  The primary key column name (default is 'id').

##### Return values

int —

The next ID for the specified table.

#### getSetting()

Db.php : 58

Get the value of a database setting.

`public getSetting(string $key) : mixed`

##### Parameters

$key : string

  The setting key.

##### Return values

mixed —

The value of the setting.

#### getTableName()

Query.php : 72

ฟังก์ชั่นอ่านชื่อตารางจากการตั้งค่าฐานข้อมุล คืนค่า ชื่อตารางรวม prefix ถ้าไม่มีชื่อกำหนดไว้ จะคืนค่า $table

`public getTableName(string $table) : string`

##### Parameters

$table : string

  ชื่อตารางตามที่กำหนดใน settings/datasbase.php

##### Return values

string —

#### indexExists()

Driver.php : 367

Check if an index exists in a table.

`public indexExists(string $database_name, string $table_name, string $index) : bool`

##### Parameters

$database_name : string

  The database name.

$table_name : string

  The table name.

$index : string

  The index name.

##### Return values

bool —

Returns true if the index exists, false otherwise.

#### insert()

Driver.php : 381

Insert new data into a table.

`public abstract insert(string $table_name, array<string|int, mixed> $save) : int|bool`

##### Parameters

$table_name : string

  The table name.

$save : array<string|int, mixed>

  The data to be saved.

##### Return values

int|bool —

Returns the ID of the inserted data if successful, or false if an error occurs.

#### insertOrUpdate()

Driver.php : 392

Insert new data into a table or update existing data if a unique key constraint is violated.

`public abstract insertOrUpdate(string $table_name, array<string|int, mixed>|object $save) : int`

##### Parameters

$table_name : string

  The table name.

$save : array<string|int, mixed>|object

  The data to be saved in the format array('key1'=>'value1', 'key2'=>'value2', ...).

##### Tags

throws
  Exception

  if there's an error executing the query.

##### Return values

int —

Returns the ID of the inserted data, 0 if an update occurred, or null if an error occurs.

#### makeQuery()

Driver.php : 401

Generate an SQL query command.

`public abstract makeQuery(array<string|int, mixed> $sqls) : string`

##### Parameters

$sqls : array<string|int, mixed>

  The SQL commands from the query builder.

##### Return values

string —

Returns the SQL command.

#### optimizeTable()

Driver.php : 430

Optimize a table.

`public optimizeTable(string $table_name) : bool`

##### Parameters

$table_name : string

  The table name.

##### Return values

bool —

Returns true if successful.

#### query()

Driver.php : 443

Execute an SQL query that does not require a result, such as CREATE, INSERT, or UPDATE.

`public query(string $sql[, array<string|int, mixed> $values = [] ]) : bool`

##### Parameters

$sql : string

  The query string.

$values : array<string|int, mixed> = []

  If specified, it will use prepared statements instead of directly querying the database.

##### Return values

bool —

Returns true if successful, or false if an error occurs.

#### queryCount()

Driver.php : 453

Get the total count of executed SQL queries.

`public static queryCount() : int`

##### Return values

int —

#### repairTable()

Driver.php : 465

Repair a table.

`public repairTable(string $table_name) : bool`

##### Parameters

$table_name : string

  The table name.

##### Return values

bool —

Returns true if successful.

#### select()

Driver.php : 480

Retrieve data from a table.

`public abstract select(string $table_name[, mixed $condition = [] ][, array<string|int, mixed> $sort = [] ], int $limit) : array<string|int, mixed>`

##### Parameters

$table_name : string

  The table name.

$condition : mixed = []

  The query WHERE condition.

$sort : array<string|int, mixed> = []

  The sorting criteria.

$limit : int

  The number of data to retrieve.

##### Return values

array<string|int, mixed> —

The resulting data in array format. Returns an empty array if unsuccessful.

#### selectDB()

Driver.php : 489

Selects a database.

`public abstract selectDB(string $database) : bool`

##### Parameters

$database : string

  The name of the database.

##### Return values

bool —

Returns true on success, false on failure.

#### tableExists()

Driver.php : 498

Check if a table exists.

`public tableExists(string $table_name) : bool`

##### Parameters

$table_name : string

  The table name.

##### Return values

bool —

Returns true if the table exists, false otherwise.

#### text()

Query.php : 83

ฟังก์ชั่นสร้างคำสั่ง SQL เป็นข้อความ

`public text() : string`

##### Return values

string —

#### update()

Driver.php : 513

Updates data in the specified table.

`public abstract update(string $table_name, mixed $condition, array<string|int, mixed>|object $save) : bool`

##### Parameters

$table_name : string

  The table name.

$condition : mixed

  The query WHERE condition.

$save : array<string|int, mixed>|object

  The data to be saved in the format array('key1'=>'value1', 'key2'=>'value2', ...)

##### Return values

bool —

Returns true on success, false on failure.

#### updateAll()

Driver.php : 524

Update data for all records in a table.

`public updateAll(string $table_name, array<string|int, mixed> $save) : bool`

Returns true if successful, false otherwise.

##### Parameters

$table_name : string

  The table name.

$save : array<string|int, mixed>

  The data to be saved in the format array('key1'=>'value1', 'key2'=>'value2', ...).

##### Return values

bool —

#### aliasName()

Query.php : 103

ฟังก์ชั่นสร้างคีย์ สำหรับการ execute

`protected aliasName(string $name[, string $prefix = '' ]) : string`

##### Parameters

$name : string

  ชื่อฟิลด์

$prefix : string = ''

  คำนำหน้าชื่อฟิลด์ ใช้เพื่อป้องกันการใช้ตัวแปรซ้ำ

##### Return values

string —

#### buildGroup()

Query.php : 115

สร้าง query สำหรับ GROUP BY

`protected buildGroup(array<string|int, mixed>|string $fields) : string`

##### Parameters

$fields : array<string|int, mixed>|string

  array('U.id', 'U.username') หรือ string U.id

##### Return values

string —

#### buildJoin()

Query.php : 134

สร้างคำสั่ง JOIN ถ้าไม่มี alias คืนค่าว่าง

`protected buildJoin(string|array<string|int, mixed> $table, string $type, mixed $on) : string`

##### Parameters

$table : string|array<string|int, mixed>

  ชื่อตารางต้องมี alias ด้วย หรือ (QueryBuilder, alias)

$type : string

  เข่น INNER OUTER LEFT RIGHT

$on : mixed

  query string หรือ array

##### Return values

string —

#### buildOrder()

Query.php : 161

สร้าง query เรียงลำดับ

`protected buildOrder(array<string|int, mixed>|string $fields) : string`

##### Parameters

$fields : array<string|int, mixed>|string

  array('field ASC','field DESC') หรือ 'field ASC', 'field DESC', ...

##### Return values

string —

#### buildSelect()

Query.php : 193

ฟังก์ชั่นสร้าง query string สำหรับคำสั่ง SELECT

`protected buildSelect(string|array<string|int, mixed>|QueryBuilder $fields, mixed $alias) : string`

##### Parameters

$fields : string|array<string|int, mixed>|QueryBuilder
$alias : mixed

##### Return values

string —

#### buildValue()

Query.php : 260

แปลงข้อมูลรูปแบบ SQL รูปแบบ array('field1', 'condition', 'field2') ไม่ระบุ condition หมายถึง = หรือ IN

`protected buildValue(array<string|int, mixed> $params) : string`

##### Parameters

$params : array<string|int, mixed>

##### Return values

string —

#### buildWhere()

Query.php : 314

ฟังก์ชั่นสร้างคำสั่ง WHERE คืนค่า string สำหรับคำสั่ง WHERE หรือคืนค่า array(where, values) สำหรับใช้กับการ bind

`protected buildWhere(mixed $condition[, string $operator = 'AND' ][, string $id = 'id' ]) : string|array<string|int, mixed>`

##### Parameters

$condition : mixed
$operator : string = 'AND'

  (optional) เช่น AND หรือ OR

$id : string = 'id'

  (optional )ชื่อฟิลด์ที่เป็น key

##### Return values

string|array<string|int, mixed> —

#### buildWhereValues()

Query.php : 374

ฟังก์ชั่นสร้างคำสั่ง WHERE และ values ไม่ใส่ alias ให้กับชื่อฟิลด์ คืนค่า ($condition, $values)

`protected buildWhereValues(mixed $condition[, string $operator = 'AND' ][, string $id = 'id' ]) : array<string|int, mixed>`

##### Parameters

$condition : mixed
$operator : string = 'AND'

  (optional) เช่น AND หรือ OR

$id : string = 'id'

  (optional )ชื่อฟิลด์ที่เป็น key

##### Return values

array<string|int, mixed> —

#### doCustomQuery()

Driver.php : 411

Execute an SQL query for retrieving data.

`protected abstract doCustomQuery(string $sql[, array<string|int, mixed> $values = [] ]) : array<string|int, mixed>|bool`

##### Parameters

$sql : string

  The SQL query string.

$values : array<string|int, mixed> = []

  If specified, it will use prepared statements instead of direct query execution.

##### Return values

array<string|int, mixed>|bool —

Returns an array of records that match the condition on success, or false on failure.

#### doQuery()

Driver.php : 421

Execute an SQL query that does not require a result, such as CREATE, INSERT, or UPDATE.

`protected abstract doQuery(string $sql[, array<string|int, mixed> $values = [] ]) : int|bool`

##### Parameters

$sql : string

  The SQL query string.

$values : array<string|int, mixed> = []

  If specified, it will use prepared statements instead of direct query execution.

##### Return values

int|bool —

Returns the number of affected rows on success, or false on failure.

#### fieldName()

Query.php : 424

แปลงข้อความสำหรับชื่อฟิลด์หรือชื่อตาราง

`protected fieldName(string $name) : string`

##### Parameters

$name : string

##### Return values

string —

#### fieldValue()

Query.php : 471

แปลงข้อความสำหรับ value

`protected fieldValue(string $value) : string`

##### Parameters

$value : string

##### Return values

string —

#### groupAnd()

Query.php : 496

ฟังก์ชั่นสำหรับจัดกลุ่มคำสั่ง และ เชื่อมแต่ละกลุ่มด้วย AND

`protected groupAnd(array<string|int, mixed> $params) : Sql`

##### Parameters

$params : array<string|int, mixed>

  คำสั่ง รูปแบบ array('field1', 'condition', 'field2')

##### Return values

Sql —

#### groupOr()

Query.php : 515

ฟังก์ชั่นสำหรับจัดกลุ่มคำสั่ง และ เชื่อมแต่ละกลุ่มด้วย OR

`protected groupOr(array<string|int, mixed> $params) : Sql`

##### Parameters

$params : array<string|int, mixed>

  คำสั่ง รูปแบบ array('field1', 'condition', 'field2')

##### Return values

Sql —

#### log()

Driver.php : 536

Log the SQL query.

`protected log(string $type, string $sql[, array<string|int, mixed> $values = [] ]) : mixed`

##### Parameters

$type : string

  The type of query.

$sql : string

  The SQL query string.

$values : array<string|int, mixed> = []

  (Optional) The values for prepared statements.

##### Return values

mixed —

#### quoteTableName()

Query.php : 534

ฟังก์ชั่นอ่านชื่อตารางและชื่อรอง และใส่ ` ครอบชื่อตารางด้วย

`protected quoteTableName(string $table) : string`

##### Parameters

$table : string

  ชื่อตารางตามที่กำหนดใน settings/datasbase.php

##### Return values

string —

#### whereValue()

Query.php : 560

สร้างคำสั่ง WHERE

`private whereValue(array<string|int, mixed> $params[, int|null $i = null ]) : array<string|int, mixed>|string`

##### Parameters

$params : array<string|int, mixed>
$i : int|null = null

##### Return values

array<string|int, mixed>|string —

## Search results