1

次のようなphp配列があります。

<?php
    $arr = array('op'=>'pqr', 'ab'=>'xyz', 'mn'=>'abcd');

?>

xyz値が存在する場合、最小ループで最初の要素として値を設定する方法。

期待される結果

<?php
    $arr = array('ab'=>'xyz', 'op'=>'pqr','mn'=>'abcd');
?>
4

2 に答える 2

4
$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;
});
于 2012-07-05T06:08:48.230 に答える
-1
<?php
    $arr = array('op'=>'pqr', 'ab'=>'xyz', 'mn'=>'abcd');
    ksort($arr);
    echo '<pre>';
    print_r($arr);
于 2012-07-05T06:09:04.643 に答える