アンダースコアを含む文字列を_
の配列の下に移動しようとしています。私はusort()
が最も効率的な方法でこれを行う方法が最善の方法だと思っています。のは、私の配列が'1','34_1','35_1','36_1','7','41_4','38_5','5','41_5','44_5','45_5'
配列を並べ替え、アンダースコアを含むすべての文字列を下に移動します。
usort(['1','34_1','35_1','36_1','7','41_4','38_5','5','41_5','44_5','45_5'], function(){...});
UPDATEであるとしましょう:私はそれを行う方法を見つけたと思う:
$myarray = ['1','34_1','35_1','36_1','7','41_4','38_5','5','41_5','44_5','45_5'];
function sortem($myarray) {
foreach ($myarray as $index=>$item)
{
if (preg_match('/^_+$/', $item))
{
unset($myarray[$index]);
$myarray[$index] = $item;
}
}
}
usort($myarray, "sortem");
$tagsuri = array_reverse($tagsuri);
は、より良い方法はありますか?
あなたの例外出力は何ですか? –
私は思考を更新しました。私はアンダースコアを含む文字列を最後にしたい、順序は私には関係ありません。出力例:['8'、 '7'、 '41_7'、 '55_8'、 '32_7'] –