たとえば、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);
これに最適な方法は何ですか?
たとえば、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);
これに最適な方法は何ですか?
このための関数array_slice
を使用できます:
$sub_array = array_slice($array, $first - 1, count($array) - $last);
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)
使用したいのは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 )
?>