Php 在找到数组元素后取出每个元素

Php 在找到数组元素后取出每个元素,php,arrays,Php,Arrays,假设我有一个如下所示的数组: array("orange", "banana", "apple", "raspberry"); 如何删除香蕉后的所有值。因此,新阵列将包含橙色和香蕉,之后的所有内容都将消失。只需使用 代码如下: $fruits = array("orange", "banana", "apple", "raspberry"); # Cut fruits, from 0 take 2 elements $new_array = array_slice($fruits, 0

假设我有一个如下所示的数组:

    array("orange", "banana", "apple", "raspberry");
如何删除香蕉后的所有值。因此,新阵列将包含橙色和香蕉,之后的所有内容都将消失。

只需使用

代码如下:

$fruits = array("orange", "banana", "apple", "raspberry");
# Cut fruits, from 0 take 2 elements
$new_array = array_slice($fruits, 0, 2);
print_r($new_array);

这是一个传递数组和要搜索和拆分的内容的函数

function getArraySection($a, $str) {
  $key = array_search($str, $a);

  if ($key === false) return []; #return empty array since section wasn't found

  return array_slice($a, 0, $key+1);
}

var_dump(getArraySection($a, 'banana'));

您必须搜索所需的值(banana),获取键,然后使用array_slice获取数组的一部分,使用banana的键作为长度

下面是一个代码示例

$a = array("orange", "banana", "apple", "raspberry");

$key = array_search('banana', $a);
$newArray  = array_slice($a,0,$key+1);

print_r($newArray); 


希望有帮助。

到目前为止,您尝试了什么?可能是Vidal的副本,可能是$key+1。它们也希望包含搜索的词。显然,除非键是基于0的顺序
数组(1=>“橙色”,2=>“香蕉”,3=>“苹果”,4=>“树莓”)。可能在上面使用
array\u值。没错,这对关联数组不起作用,但他没有使用或要求关联数组的切片。