Home >Backend Development >PHP Problem >How to get the last characters of an array in php
In PHP, it is a common requirement to get the last few characters of an array. Typically, we can use the array_slice function to achieve this. However, this function can only be used for numerically indexed arrays, which will cause problems if our array is an associative array. Therefore, this article will introduce a more general method to get the last few characters of an array.
Method 1: Use the array_slice function
The array_slice function is a very powerful function that can be used to intercept a certain fragment in the array. We can use this function to get the last few elements of the array. Here is a sample code using the array_slice function:
$arr = [1, 2, 3, 4, 5]; $lastTwo = array_slice($arr, -2, 2); print_r($lastTwo);
First, we define an array $arr containing 5 elements. We want to get the last two elements in the array, so the first parameter is the array itself, the second parameter is the position where the index starts, by giving a negative number to indicate the start of the countdown, and the third parameter is the length of the interception, also Just get a few elements. Because we want to get the last two elements, the truncation length is 2.
The output result of the above code is:
Array ( [3] => 4 [4] => 5 )
As you can see, the output result is the last two elements [4,5].
Of course, if your array is an associative array, you need to get the key name of the array first, and then get the corresponding value based on the key name. The specific operation is as follows:
$arr = ['a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5]; $keys = array_keys($arr); $lastTwoKeys = array_slice($keys, -2, 2); $lastTwoValues = array_intersect_key($arr, array_flip($lastTwoKeys)); print_r($lastTwoValues);
Here, we first use the array_keys function to obtain all the key names of the associated array $arr. Then, use the array_slice function to get the last two keys in the key array. Finally, use the array_intersect_key function to extract the corresponding values from the key array to form a new array, and output the result.
Method 2: Use the array_reverse and array_slice functions
In addition to the array_slice function, there is another way to get the last few elements of the array, which is to use a combination of the array_reverse and array_slice functions. The array_reverse function can flip an array over, and the array_slice function can be used to intercept a segment of an array.
Here is sample code using the array_reverse and array_slice functions:
$arr = ['a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5]; $reversedArray = array_reverse($arr, true); $lastTwoValues = array_slice($reversedArray, 0, 2, true); print_r($lastTwoValues);
First, we flip the associative array $arr over. The second parameter true passed in here is to maintain the relationship between the key name and the value. Then, use the array_slice function to get the first two elements of the flipped array. Note that the index position here should start from 0 because the array has been flipped.
The output result of the above code is:
Array ( [e] => 5 [d] => 4 )
As you can see, the output result is the last two elements [5,4], and is the same as the output result of method one.
Summary
Whether you use the array_slice function or a combination of array_reverse and array_slice functions, you can easily obtain the last few elements of the array. However, it should be noted that if your array is an associative array, you need to first obtain the key name of the array and then obtain the corresponding value based on the key name. At the same time, please also note that the order of the key names in the return value is not necessarily the same as the original array, so special care is required.
The above is the detailed content of How to get the last characters of an array in php. For more information, please follow other related articles on the PHP Chinese website!