我有一个php数组如下,
<?php
$arr = array('op'=>'pqr', 'ab'=>'xyz', 'mn'=>'abcd');
?>
xyz
如果值存在,如何将值设置为具有最小循环的第一个元素。
预期结果
<?php
$arr = array('ab'=>'xyz', 'op'=>'pqr','mn'=>'abcd');
?>
$ab = $array['ab'];
unset($array['ab']);
$array = array('ab' => $ab) + $array;
如果密钥本身未知,请先找到它:
$key = array_search('xyz', $array);
$tmp = $array[$key];
unset($array[$key]);
$array = array($key => $tmp) + $array;
或进行排序:
uasort($array, function ($a, $b) {
if ($a == 'xyz') return -1;
if ($b == 'xyz') return 1;
return 0;
});
<?php
$arr = array('op'=>'pqr', 'ab'=>'xyz', 'mn'=>'abcd');
ksort($arr);
echo '<pre>';
print_r($arr);