0

たとえば、9つのキーを持つ配列があります。

<?php

$array = array(3,1,4,5,7,34,32,12,13);

print_r($array);

この配列からデータを取得するか、他の値を削除したいと思います。

例えば:

$first = 2;
$last = 5;

これは私を返すはずです:

$new_array = array(1,4,5,7);

これに最適な方法は何ですか?

4

4 に答える 4

5

このための関数array_sliceを使用できます:

$sub_array = array_slice($array, $first - 1, count($array) - $last);
于 2012-07-06T15:22:16.463 に答える
3

array_slice ( array $array , int $offset [, int $length = NULL [, bool $preserve_keys = false ]] )

于 2012-07-06T15:24:05.833 に答える
1

array_splice を試してください:

$array = array(3,1,4,5,7,34,32,12,13);
$first = 2;
$end = 5;
$length = ($end - $first);
$new_array = array_splice($array, $first, $end)
于 2012-07-06T15:25:23.883 に答える
1

使用したいのはarray_slice()関数のようです。

<?php
$input = array("a", "b", "c", "d", "e");

$output = array_slice($input, 2);      // returns "c", "d", and "e"
$output = array_slice($input, -2, 1);  // returns "d"
$output = array_slice($input, 0, 3);   // returns "a", "b", and "c"

// note the differences in the array keys
print_r(array_slice($input, 2, -1));
print_r(array_slice($input, 2, -1, true));
?> 

あなたの質問について:

<?php

$array = array(3,1,4,5,7,34,32,12,13);

$first = 2;
$last = 5;

$new_array = array_slice($array, $first - 1, $last - 1);
print_r($new_array);
// Array ( [0] => 1 [1] => 4 [2] => 5 [3] => 7 ) 
?>
于 2012-07-06T15:24:14.230 に答える