2

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

因此,对于下面的示例,我选择了 Penny,因此我希望她要么走在 Bob 之前,要么与 Bob 交换位置。

我的数组如下所示:

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

我曾尝试使用 array_search,但我认为我做得不对。

4

2 回答 2

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]);
    }
}

This is for prepending. If you want to swap, see the answer of @IAmNotProcrastinating

于 2013-04-18T14:08:17.280 回答
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 */
}
于 2013-04-18T14:07:59.600 回答