When developing applications using PHP, sometimes you need to process the array, for example, leaving only the first few elements of the array. Here are several ways to implement this feature.
Method 1: Use the array_slice() function
The array_slice() function can return a subset of the array, and you can choose to retain the first few elements of the array. The specific usage is as follows:
$arr = ['apple', 'banana', 'orange', 'watermelon', 'peach']; $new_arr = array_slice($arr, 0, 3); print_r($new_arr);
In the above code, $arr is the original array, the second parameter 0 means to intercept starting from subscript 0, and the third parameter 3 means to intercept 3 elements. $new_arr is the new array after interception, and the output is: Array ( [0] => apple [1] => banana [2] => orange ).
Method 2: Use the array_splice() function
The array_splice() function can cut, insert and delete the array. By deleting elements at the end of the array, only the first few elements remain. The specific usage is as follows:
$arr = ['apple', 'banana', 'orange', 'watermelon', 'peach']; array_splice($arr, 3); print_r($arr);
In the above code, $arr is the original array, and the second parameter 3 means to delete starting from subscript 3. Because the first three elements are to be retained, all subsequent elements are deleted. . The output is: Array ([0] => apple [1] => banana [2] => orange ).
Method 3: Use for loop
Use for loop to traverse the array, you can retain the first few elements and delete all subsequent elements. The specific code is as follows:
$arr = ['apple', 'banana', 'orange', 'watermelon', 'peach']; $count = count($arr); for($i = 0; $i < $count; $i++){ if($i < 3) { $new_arr[] = $arr[$i]; } } print_r($new_arr);
In the above code, $arr is the original array, and $count represents the number of array elements. Traverse the array through a for loop and determine if $i is less than 3, then add the elements of $arr[$i] to the new array $new_arr. The output result is the same as method one.
Method 4: Use the array_filter() function
The array_filter() function can filter elements in the array through a callback function. We can use this function in conjunction with the range() function to construct a subscript array with the same length as the array, and use the callback function to determine whether the subscript is less than 3, thereby achieving the function of leaving only the first few elements. The specific code is as follows:
$arr = ['apple', 'banana', 'orange', 'watermelon', 'peach']; $keys = range(0, count($arr)-1); $new_keys = array_filter($keys, function($key){ return $key<3; }); $new_arr = array_intersect_key($arr, array_flip($new_keys)); print_r($new_arr);
In the above code, $arr is the original array, and $keys is the subscript array constructed by the range() function. Delete unnecessary subscripts through the array_filter() function to obtain a new subscript array $new_keys. Finally, use the array_intersect_key() function to return the new array, and the output result is the same as method 1.
Summary:
The above are four ways to achieve only the first few elements of the array. Each method has its own characteristics. Choosing the appropriate method can improve code efficiency and readability. sex.
The above is the detailed content of php leaves only the first few elements of the array. For more information, please follow other related articles on the PHP Chinese website!