Current Location: Home> Latest Articles> array_values with array_slice: How to Use Them Together for Efficient Array Handling

array_values with array_slice: How to Use Them Together for Efficient Array Handling

gitbox 2025-09-17

In PHP, array manipulation is an inevitable task in everyday development. The array_values and array_slice functions, as two very commonly used array functions, can help developers handle and manipulate arrays more efficiently. Today, we’ll take a deep look at how to combine these two functions to improve array processing efficiency.

1. Introduction to the array_values function

The array_values function returns all the values from an array and reindexes its keys. It extracts all the values, ignores the original keys, and returns a numerically indexed array starting from 0. This function is typically used in the following situations:

  • When you need to remove the keys from an array and only care about the values;
  • When the original array keys are not continuous, using array_values can reorder the keys into consecutive integers starting from 0.

Example:

$array = ["a" => "apple", "b" => "banana", "c" => "cherry"];  
$result = array_values($array);  
print_r($result);

Output:

Array  
(  
    [0] => apple  
    [1] => banana  
    [2] => cherry  
)

As shown above, the array_values function returns a reindexed array. The original keys (a, b, c) are ignored, and only the values remain, reindexed numerically.

2. Introduction to the array_slice function

The array_slice function extracts a portion of an array and returns it as a subarray. Developers can specify the starting position and the number of elements to extract. This function does not modify the original array but instead returns a new subarray.

Example:

$array = [1, 2, 3, 4, 5];  
$result = array_slice($array, 2, 2);  // Extract 2 elements starting from index 2  
print_r($result);

Output:

Array  
(  
    [0] => 3  
    [1] => 4  
)

In this example, array_slice starts from index 2, extracts 2 elements, and returns a new array [3, 4].

3. Combining array_values and array_slice

Combining array_values with array_slice can be highly beneficial, especially when working with arrays that have non-continuous indexes. By combining these two functions, you can efficiently slice arrays while ensuring the returned array has correct keys.

Suppose you have an array with non-continuous indexes. After slicing it with array_slice, the indexes might still be non-continuous. To reset the indexes to start from 0, you can apply array_values after slicing.

Example:

$array = [5 => "apple", 10 => "banana", 15 => "cherry"];  
$sliced = array_slice($array, 1, 2);  // Extract 2 elements starting from index 1  
$reindexed = array_values($sliced);   // Reindex the array  
<p>print_r($reindexed);

Output:

Array  
(  
    [0] => banana  
    [1] => cherry  
)

In this example, array_slice extracts "banana" and "cherry", but their keys remain as 10 and 15 in the original array. Using array_values resets the keys to start from 0, ensuring consecutive indexes.

4. Efficiency scenarios

When working with large datasets, especially when extracting only certain parts of an array, combining array_slice and array_values becomes particularly useful. array_slice reduces unnecessary data loading and saves memory, while array_values ensures consecutive indexes, making further processing easier.

Additionally, PHP’s array_slice function is optimized at the core level for good performance. Therefore, using it together with array_values guarantees efficient execution and keeps array operations clean and simple.

5. Summary

By combining array_values and array_slice, PHP developers can manipulate arrays more flexibly and efficiently. array_slice is used for slicing, while array_values ensures consecutive indexes. When used together, they simplify code structure, improve execution efficiency, and significantly enhance maintainability when working with irregular or non-continuous indexes.

Whether you’re working with small arrays or large datasets, mastering these two functions will make your PHP programming much smoother.