PHP:如何从数组中获取范围?
如果我有一个数组,比如PHP:如何从数组中获取范围?,php,arrays,Php,Arrays,如果我有一个数组,比如 $numarray = array("abc", "def", "ghi", "jkl", "mno"); 如何在起点和终点之间选择值。如果起点为“def”,终点为“jkl”,则应返回“def”、“ghi”和“jkl”。起始字符串和结束字符串是动态的,因此它应该匹配,然后返回值的范围。这应该适用于您: 只需从阵列中获取一个阵列\u切片() <?php $numarray = array("abc", "def", "ghi", "jkl", "mno")
$numarray = array("abc", "def", "ghi", "jkl", "mno");
如何在起点和终点之间选择值。如果起点为“def”,终点为“jkl”,则应返回“def”、“ghi”和“jkl”。起始字符串和结束字符串是动态的,因此它应该匹配,然后返回值的范围。这应该适用于您: 只需从阵列中获取一个
阵列\u切片()
<?php
$numarray = array("abc", "def", "ghi", "jkl", "mno");
$start = "def";
$end = "jkl";
$startPosition = array_search($start, $numarray);
$endPosition = array_search($end, $numarray) - $startPosition + 1;
print_r(array_slice($numarray, $startPosition, $endPosition));
?>
这应该适合您:
只需从阵列中获取一个阵列\u切片()
<?php
$numarray = array("abc", "def", "ghi", "jkl", "mno");
$start = "def";
$end = "jkl";
$startPosition = array_search($start, $numarray);
$endPosition = array_search($end, $numarray) - $startPosition + 1;
print_r(array_slice($numarray, $startPosition, $endPosition));
?>
这么多函数调用的目的是什么。使不完全通过数组
$numarray = array("abc", "def", "ghi", "jkl", "mno");
$start = "def";
$end = "jkl";
$out = false;
$new = array ();
foreach($numarray as $item) {
if ($item == $start) $out = true;
if ($out) $new[] = $item;
if ($item == $end) break;
}
print_r($new);
这么多函数调用的目的是什么。使不完全通过数组
$numarray = array("abc", "def", "ghi", "jkl", "mno");
$start = "def";
$end = "jkl";
$out = false;
$new = array ();
foreach($numarray as $item) {
if ($item == $start) $out = true;
if ($out) $new[] = $item;
if ($item == $end) break;
}
print_r($new);
你试过什么吗?@Rizier123我只是不知道从哪里开始。我记得我知道如何用javascript实现这一点。我不知道substr是否与此相关,但我所知道的是javascript中有一些函数可以做到这一点。你说的范围是什么意思?你是指数组某个部分的值,还是介于下限和上限之间的值(例如数组(1,3,4,8,2)
,所有值都在3和5之间)?@DaanWilmer有一个html表单,它有两个输入字段。用户可以在第一个字段中键入任何起始值,在另一个字段中键入最后一个值,脚本将返回这两个值之间的所有值,包括起始值和结束值。您尝试了什么吗?@Rizier123我只是不知道从何处开始。我记得我知道如何用javascript实现这一点。我不知道substr是否与此相关,但我所知道的是javascript中有一些函数可以做到这一点。你说的范围是什么意思?你是指数组某个部分的值,还是介于下限和上限之间的值(例如数组(1,3,4,8,2)
,所有值都在3和5之间)?@DaanWilmer有一个html表单,它有两个输入字段。用户可以在第一个字段中键入任何起始值,在另一个字段中键入最后一个值,脚本将返回这两个值之间的所有值,包括起始值和结束值。$endPosition=$startPosition-array\u search($end,$numarray)+1代码>必须是$endPosition=array\u search($end,$numarray)-$startPosition+1代码>+1反正$endPosition=$startPosition-array\u search($end,$numarray)+1代码>必须是$endPosition=array\u search($end,$numarray)-$startPosition+1代码>+1无论如何