查找数组中的条目并将其放在第一个或使用第一个数组条目进行交换

时间:2013-04-18 13:54:17

标签: php

我有一个充满数组的PHP数组,我想要做的是在这个数组中搜索所选的条目,并将其与数组中的第一个条目交换,如果这有意义的话......

因此,对于我下面的例子,我选择了Penny,所以我希望她能够在Bob之前或者与Bob交换位置。

我的数组看起来像这样:

$people = array(
array('Bob', 'Wilson'),
array('Jill', 'Thompson'),
array('Penny', 'Smith'),
array('Hugh', 'Carr')
);

我尝试过使用array_search,但我认为我没有正确使用它。

2 个答案:

答案 0 :(得分:1)

function swap (&$ary,$fromIndex,$toIndex=0)
{
    $temp=$ary[$toIndex];
    $ary[$toIndex]=$ary[$fromIndex];
    $ary[$fromIndex]=$temp;
}
foreach ($elements as $key => $element) {
    /* do the search, get the $key and swap */
}

答案 1 :(得分:1)

for ($i = count($array) - 1; $i > 0; $i--) {
    if ($array[$i][0] == $first_name) { // Or by whatever you want to search? in_array...?
        $searched_array = array_splice($array, $i, 1);
        array_unshift($array, $searched_array[0]);
    }
}

这是用于前置。如果您想交换,请参阅@IAmNotProcrastinating的答案