从下一个键获取数组值

时间:2016-09-02 11:01:43

标签: php arrays

我有一个数组,我想在点击键时显示一个特定的顺序。当我点击' 5'时,结果将是' 5,6,4'。当我点击' 6'时,我会得到' 6,4,5'

Array
(
    [0] => 4
    [1] => 5
    [2] => 6
)

提前致谢。

2 个答案:

答案 0 :(得分:1)

获取所有值,直到单击另一个数组的值为 - $frontArray并将其合并到主数组。

//get the clicked value
$clickedValue = your clicked value;
//find the key
$key = array_search($clickedValue, $myArray);

$frontArray = array();
if ($key !== FALSE) {
  $keyReached = FALSE;
  foreach ($myArray as $k => $v) {
    if ($key == $k) {
      $keyReached = TRUE;
    }
    if (!$keyReached) {
      $frontArray[] = $v;
      unset($myArray[$k]);
    }
  }
  $myArray = array_merge($myArray, $frontArray);

  //re-index the array
  $myArray = array_values($myArray);
}

print_r($myArray); // this gets modified as per the clicked value

我已经使用您的示例对此进行了测试,但效果很好。

答案 1 :(得分:1)

使用array_splice将数组拆分为两个 - 在

之前和之后
$ar = [4,5,6];

$v = 5;
if (false !== ($i = array_search($v, $ar)) {
    $b = array_splice($ar, $i+1);
    $ar = array_merge($b, $ar);
}

print($ar);