-2

さまざまな組み合わせの配列が_ありますが、配列の先頭から始まる番号/コードを取得したいと考えています。usort で多くのことを試しましたが、最適な修正が見つかりませんでした。

配列の例:

jhdjfhasjdfh234324
6524kl6j245-68tgh345345
ji43h593408ug8gfsspdkf
_23i490u2458djiofjgoskdgk
4534326jk36hj4j526hkj45t
43u25h6jih245ji3

そして出力:

_23i490u2458djiofjgoskdgk
jhdjfhasjdfh234324
6524kl6j245-68tgh345345
ji43h593408ug8gfsspdkf
4534326jk36hj4j526hkj45t
43u25h6jih245ji3

そして、で始まるコードはこれ以上ありません_

ありがとう。

4

2 に答える 2

1
function aux($a, $b) {
    if($a[0] == "_") return -1;
    else if($b[0] == "_") return 1;
    return ($a < $b) ? -1 : 1;
}

usort($data, "aux");
于 2013-02-11T22:16:07.420 に答える
0

このようなものが動作するはずです

$f = false;
$data = array_filter($data, function($var) use(&$f) {
    if (substr($var, 0, 1) == "_") {
        $f = $var;
        return false;
    }

    return true;
});

if ($f) {
    array_unshift($data, $f);
}
于 2013-02-11T22:12:13.413 に答える