Home >Backend Development >PHP Tutorial >PHP array learning: convert a one-dimensional array into a two-dimensional array containing specified multiple elements
In the previous article "PHP Array Learning: How to Exchange Key Names and Value Positions", we learned about two methods of exchanging key names and key values in arrays. If necessary Friends can learn about it~
→Related recommendations: 《PHP array learning series summary (continuously updated~)》
And today This article mainly takes you through splitting arrays and talks about how to use PHP to split a one-dimensional array into a two-dimensional array containing a specified number of elements.
For example, there is such a one-dimensional array
$arr = array(4, 23, 56, 1, 9, 5, 2, 67, 34, 100, 78);
I want to divide this one-dimensional array into a two-dimensional array containing 3 consecutive elements as shown below
How to do this? Here are two ways to split a one-dimensional array into a two-dimensional array containing a specified number of elements.
Method 1: Use the array_slice() function to intercept the array
Implementation idea:
Use The array_slice() function intercepts an array fragment of a specified length based on the array subscript, and returns the intercepted subarray.
Because the inner layers of the two-dimensional array each contain 3 elements, the positions where array_slice() is used to start splitting the array are 0, 3, 6, and 9 respectively;
Use for loop to control the starting position (array subscript), the relationship between i and subscript i*3
:
When i=0, then the starting position It is 0
When i=1, the starting position is 3
When i=2, the starting position is 6
When i=3, the starting position is 9
The implementation code is given below:
<?php function SplitArray($arr,$n){ for ($i = 0; $i <= $n; $i++) { $res[] = array_slice($arr, $i * $n, $n); } var_dump($res); } $arr = array(4, 23, 56, 1, 9, 5, 2, 67, 34, 100, 78); SplitArray($arr,3); ?>
Output result:
Method 2: Use the array_chunk() function to split the array
<?php $arr = array(4, 23, 56, 1, 9, 5, 2, 67, 34, 100, 78); $res = array_chunk($arr,3); var_dump($res); ?>
Output result:
Let me introduce the array_chunk() function to you.
array_chunk(array,size,preserve_keys)
The function splits an array into new array chunks, where the optional parameter size
specifies how much each new array chunk contains elements, the optional parameter preserve_keys
specifies whether to retain the key names in the original array (the default value is false, not retained).
Okay, that’s all. If you want to know anything else, you can click this. → →php video tutorial
Finally, I would like to recommend a free video tutorial on PHP arrays: PHP function array array function video explanation, come and learn!
The above is the detailed content of PHP array learning: convert a one-dimensional array into a two-dimensional array containing specified multiple elements. For more information, please follow other related articles on the PHP Chinese website!