問題タブ [natsort]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql - MySQL ORDER BYの問題-natsortを使用して修正できますか?
現在、INT値は次のようにソートされているため、MySQLの結果で自然ソートを使用する必要があります。
- 1
- 123
- 1256
- 22
- 231
[等]
私はそれを次のように並べ替える必要がありますが
- 1
- 22
- 231
- 1256
「natsort」関数は知っていますが、MySQLクエリ結果では機能しません。どうすれば(自然に)並べ替えることができますか?クエリ内でこれを行うことは可能ですか?
助けてくれてありがとう!
編集:クエリ例$result = mysql_query("SELECT * FROM forums ORDER BY 'posts' DESC;");
私のDESCの使用が有効かどうかは完全にはわかりませんが、エラーはスローされないため、問題ないはずです。残念ながら、DESCをASCに変更しても効果がないようです...
php - ここで natsort (または natcasesort) が機能しないのはなぜですか?
恥ずかしいほど間違ったことをしているのかもしれませんが、なぜこの配列がソートされないのでしょうか?
配列をまったく並べ替えようとしない場合と同じ結果が得られるようです。sort()
動作しますが、他には何もないようです。
助けてくれてありがとう!
アップデート:
サンプル結果は次のとおりです。
ソートなし:
とsort()
:
natsort()
またはnatcasesort()
: _
少なくとも、natsort の結果が sort のようになることを期待しています。
php - natsortmultidemsional配列
私はこのような多次元配列を持っています:
データが日キーによって自然な順序で返されるように、内部配列を並べ替える必要があります。
このようなIE:
必要なのは$keyで多次元配列にnatsortを適用する関数だと思いますが、これまでのところ、標準のソート以外の機能を見つけることができませんでした。
何か助けはありますか?
php - PHP:配列キーを再割り当てします
降順の番号の配列があります。この配列に追加するときは、最後に追加してから実行しますnatsort($times)
。$ timesは次のようになります(print_rによって取得されます):
ただし、追加したばかりの0.10が配列インデックス4になるようにすべてのキーを再割り当てして、新しい時刻がどこにあるかを簡単に確認できるようにします。つまり、「ランキングは$ arrayindex+1です」
この配列全体を新しい配列にコピーして新しいキーを取得する以外に、より良い方法はありますか?
php - ディレクトリファイル名の配列を自然な降順で並べ替える
自然な降順で返されるコンテンツディレクトリがあります。
とを使用scandir()
していますnatsort()
が、を追加してarray_reverse()
も結果は得られません。
私は、この結果に影響を与えるために、他のものと同様にの組み合わせを使用して研究してきましopendir()
たreaddir()
。
並べ替える項目は、番号付きの画像ファイルです。それらは次のように返されます:10
9
8
7
など1000
999
998
997
ですが、0
これが私の現在のコードです:
ajax - ajax natsort()json配列の並べ替え
phpopendir関数を使用してファイルから画像の配列をajaxします。ローカルでは順番に動作しますが、サーバーにアップロードするとランダムに吐き出されます。個人的に注文していないせいかと思いました。JSON_ENCODEで返送する前に、配列でnatsort()を使用しようとしましたが、オブジェクトが返されるため機能しません(番号が付けられたばかりの順序が間違っています)。これはconsole.log()からローカルに取得します。
そしてこれはconsole.log()からの私のサーバーから:
配列を並べ替えるより良い方法はありますか?これを修正する方法について何か提案はありますか?よろしくお願いします。
編集01-解決策
JavaScriptを使用したJSONコールバック後に配列を並べ替えます。
php - 課題を証明する PHP -タグ付きnatsort
php - natsort / strnatcmp / strnatcasecmp でスペースが無視されるのはなぜですか?
strnatcmp
テーブル内の人名を並べ替えるために、比較関数で使用しています。ベルギーのクライアントの場合、奇妙な結果が得られます。彼らは「ヴァン デル ブロッケ」や「ヴァンダー ヴィーレ」などの名前を持ち、strnatcasecmp("Van der", "Vander")
戻ってきます0
。
自然な比較は人間が行うようにソートすることを目的としているため、スペースが完全に無視される理由がわかりません。
例えば:
与えます:
しかし、人間は次のように言うでしょう。
私の解決策は、適切に処理されるすべてのスペースをアンダースコアに置き換えることです。2 つの質問: なぜnatsort
このように機能するのですか? より良い解決策はありますか?