This is my first essay, let’s write some more practical functions in my work.
Array function:
1 array_column --returns a specified column in the array
Usage 1: Return a specified column in the array
Application scenario: Take out the IDs of all the students in the class and query other information about these students in other tables
Benefits: Reduce the number of database queries (find all information at once through ID)
Liezi:
$records = array(
array(
last_name' => 'Doe',
),
array(
'id' => 3245,
name' => 'Smith',
)
);
$first_names = array_column($records, 'id');
print_r($first_names);
//Result
?>
Usage 2: Use the id in the two-dimensional array as the key of the array
Application scenario: retrieve data through array['id']
Benefits: Use array_column instead of foreach to use the id in the two-dimensional array as the key of the array. The code is concise and calling system functions improves efficiency
Liezi:
$records = array(
array(
last_name' => 'Doe', ),
array(
'id' => 3245,
'first_name' => 'Sally',
'last_ name' => 'Smith',
)
);
//Use foreach
$records_key = array();
$records_key[$v['id']] = $v;
}
print_r($first_names);
//Call array_column
$records_key = array_column($records, NULL,'id');print_r($first_names);
?>
//Result
> 🎜> > 🎜>
)
2 array_multisort -- Sort multiple arrays or multidimensional arrays
Usage 1: Multi-dimensional array sorting
Application scenario: Sort the data in descending order according to price and in ascending order according to sales volume
Liezi:
$data[] = array('price' => 67, 'sale_num' => 2);
$data[] = array('price' => 85, 'sale_num' => 6);
$data[] = array('price ' => 98, 'sale_num' => 2);$data[] = array('price' => 86, 'sale_num' => 6);
$data[] = array('price' => 67, 'sale_num' => 7);// Get the list of columns
$price= array_column($data,'price');
$sale_num= array_column($data,'sale_num');
// Take $data as the last parameter and sort by common key
array_multisort($price, SORT_DESC, $sale_num, SORT_ASC, $data);
?>
//Result
price | sale_num -------+-------- 98 | 2 86 | 1 86 | 6 85 | 6 67 | 2 67 | 7
To be continued!