Let me tell you the basic syntax first:
array_slice ( array $array , int $offset [, int $length [, bool $preserve_keys ]] )
array_slice( ) returns a sequence in the array specified by the offset and length parameters.
If offset is non-negative, the sequence will start at this offset in array. If offset is negative, the sequence will start this far from the end in the array.
If length is given and positive, there will be this many cells in the sequence. If length is given and negative, the sequence will terminate this far from the end of the array. If omitted, the sequence will start at offset and go to the end of array.
Note that array_slice() will reset the keys of the array by default. As of PHP 5.0.2, this behavior can be changed by setting preserve_keys to TRUE.
$input = array("a", "b", "c", "d", "e"); $output = array_slice($input, ); //返回下标开始的数组 returns "c", "d", and "e" $output = array_slice($input, -, ); // returns "d" $output = array_slice($input, , ); // returns "a", "b", and "c" // note the differences in the array keys print_r(array_slice($input, , -)); print_r(array_slice($input, , -, true));
If you need to return several random pieces of data, you can first use shuffle($input); to scramble the original array, and then use array_slice to obtain it
PS: PHP array_slice() function
Definition and Usage
array_slice() function removes a segment of value from the array based on conditions and returns it.
Note: If the array has string keys, the returned array will retain the key names. (See Example 4)
Syntax
array_slice(array,offset,length,preserve)
Example 1
"Dog",1=>"Cat",2=>"Horse",3=>"Bird"); print_r(array_slice($a,1,2)); ?>
Output:
Array ( [0] => Cat [1] => Horse )
Example 2
With negative offset parameter:
"Dog",1=>"Cat",2=>"Horse",3=>"Bird"); print_r(array_slice($a,-2,1)); ?>
Output:
Array ( [0] => Horse )
Example 3
preserve parameter is set to true:
"Dog",1=>"Cat",2=>"Horse",3=>"Bird"); print_r(array_slice($a,1,2,true)); ?>
Output:
Array ( [1] => Cat [2] => Horse )
Example 4
With string key:
"Dog","b"=>"Cat","c"=>"Horse","d"=>"Bird"); print_r(array_slice($a,1,2)); ?>
Output:
Array ( [b] => Cat [c] => Horse )
Above This article introduces you to PHP using the array_slice function to obtain random or first few pieces of data from an array. I hope you like it.
For more PHP related articles using the array_slice function to obtain random arrays or the first few pieces of data, please pay attention to the PHP Chinese website!