我有一个像这样的数组
$a=["apple","ball","cat","dog","elephant","fish"]
我想从数组$ a创建一个这样的两个新数组。我希望狗之前的东西留在$ b,我想要物品狗大象和鱼在另一个阵列$ c
$b=["apple","ball","cat"]
$c=["dog","elephant","fish"]
我想通过使用word" dog"不使用价值4。可能吗 ? 我搜索了许多阵列功能,但我的大脑停止了工作。那么有人可以帮助我吗?
答案 0 :(得分:0)
您可以使用array_search
,array_splice
和array_reverse
功能来完成此任务:
$a = array("apple","ball","cat","dog","elephant","fish");
$lastItems = array_slice( $a, array_search( 'dog', $a ) );
$firstItems = array_reverse( array_slice( array_reverse( $a ), array_search( 'dog', $a ) ) );
可能还有一种更简单的方法。但是使用array_reverse
方法反转数组将帮助您在array_search
元素之前切片,而不使用反向切片。
另请注意,我更改了数组初始化。
答案 1 :(得分:0)
如果您对 array_search 功能没问题,那么它很简单。请参阅以下方法:
$arr = array("apple","ball","cat", "deer", "frog", "dog","elephant","fish");
$res = array_chunk($arr, array_search('dog', $arr));
$first = $res[0]; $last = $res[1];
print_r($first);
print_r($last);
$last = array_splice($arr, array_search('dog', $arr));
print_r($arr);
print_r($last);