是否有一种简单的方法来获取特定的数组元素,并将其放在数组的开头?
例如我有这个数组:
$array = [
[
'name' => 'Jon Doe',
'age' => 44,
'sex' => 'm'
],
[
'name' => 'Joana Doe',
'age' => 44,
'sex' => 'f'
],
[
'name' => 'Jon Doe',
'age' => 44,
'sex' => 'm'
],
[
'name' => 'Some Name',
'age' => 44,
'sex' => 'f'
],
[
'name' => 'Another Name',
'age' => 44,
'sex' => 'f'
],
];
我希望在名称为某些名称的情况下使用数组,并将其放在数组的开头。
答案 0 :(得分:1)
如果你想按值搜索并重新索引数组,那么应该这样做。
function searchForId($name, $array) {
foreach ($array as $key => $val) {
if ($val['name'] === $name) {
return $key;
}
}
return null;
}
$id = searchForId('name', $array);
if($id !== null) {
$tmp = $array[$id];
unset($array[$id]);
$array = array_values($array);
array_unshift($array, $tmp);
}
答案 1 :(得分:0)
当然。简单的元素交换。
mget