Php 在给定点的左侧切片数组
我有以下数组Php 在给定点的左侧切片数组,php,arrays,Php,Arrays,我有以下数组 $array = array ( 0 => '730', 1 => '724', 2 => '720', 3 => '530', 4 => '56', 5 => '76', 6 => '528', 7 => '394', 8 => '390', 9 => '388', ) 我在数组中有一个给定的点,比如说$a=5,它转换成值56 现在,我需要得到给定点两边的两个值。对于$a右侧的值
$array = array (
0 => '730',
1 => '724',
2 => '720',
3 => '530',
4 => '56',
5 => '76',
6 => '528',
7 => '394',
8 => '390',
9 => '388',
)
我在数组中有一个给定的点,比如说$a=5
,它转换成值56
现在,我需要得到给定点两边的两个值。对于$a
右侧的值,我使用以下公式
$keys = array_slice( $array, $a, $x_from_current );
它正确地给出了值76
和528
但是,我无法获取左侧的2个值,在本例中,这两个值是720
和530
。我无法使偏移量正常工作
你知道如何在左边得到这两个值吗?我在这里使用的函数是否正确
$keys = array_slice($array, $a-3, 2);
var_dump($keys);
这应该起作用:
array_slice($array, $a - 3, 2)
这应该起作用:
array_slice($array, $a - 3, 2)
我最终做了以下几件事,这完全符合我的需要
- 使用
反转数组array\u reverse
- 接下来,重新计算
$a
- 正常使用
array\u slice
$array = array (
0 => '730',
1 => '724',
2 => '720',
3 => '530',
4 => '56',
5 => '76',
6 => '528',
7 => '394',
8 => '390',
9 => '388',
);
$a = 5;
$reverse_position = count( $array ) - ( $a );
$array_reverse = array_reverse( $array );
$sliced_reverse = array_slice( $array_reverse, $reverse_position + 1, 2 );
echo "<pre>";
var_dump($sliced_reverse);
echo "</pre>";
$array=array(
0 => '730',
1 => '724',
2 => '720',
3 => '530',
4 => '56',
5 => '76',
6 => '528',
7 => '394',
8 => '390',
9 => '388',
);
$a=5;
$reverse_position=计数($array)-(a);
$array\u reverse=array\u reverse($array);
$sliced\u reverse=array\u slice($array\u reverse,$reverse\u position+1,2);
回声“;
变量转储($sliced\u reverse);
回声“;
我最后做了以下几件事,完全符合我的需要
- 使用
反转数组array\u reverse
- 接下来,重新计算
$a
- 正常使用
array\u slice
$array = array (
0 => '730',
1 => '724',
2 => '720',
3 => '530',
4 => '56',
5 => '76',
6 => '528',
7 => '394',
8 => '390',
9 => '388',
);
$a = 5;
$reverse_position = count( $array ) - ( $a );
$array_reverse = array_reverse( $array );
$sliced_reverse = array_slice( $array_reverse, $reverse_position + 1, 2 );
echo "<pre>";
var_dump($sliced_reverse);
echo "</pre>";
$array=array(
0 => '730',
1 => '724',
2 => '720',
3 => '530',
4 => '56',
5 => '76',
6 => '528',
7 => '394',
8 => '390',
9 => '388',
);
$a=5;
$reverse_position=计数($array)-(a);
$array\u reverse=array\u reverse($array);
$sliced\u reverse=array\u slice($array\u reverse,$reverse\u position+1,2);
回声“;
变量转储($sliced\u reverse);
回声“;
我是第一个。但是我支持低重复次数:-)它可以工作,但问题是,比如说$a
是2
,它返回的最后一个值是388
我是第一个。但我支持低重复次数:-)它可以工作,但问题是,比如说$a
是2
,它返回最后一个值是388
,它可以工作,但问题是,比如说$a
是2
,它返回最后一个值是388
它可以工作,但问题是,比如说$a
是2
,它返回最后一个值,即388