ホームページ > バックエンド開発 > PHPチュートリアル > 2次元配列のソートと上付き文字の並べ替え

2次元配列のソートと上付き文字の並べ替え

WBOY
リリース: 2016-06-13 13:12:24
オリジナル
947 人が閲覧しました

2次元配列のソート、添字の並べ替えです
タイトルの通り、あるフィールドをソートしたところ、添字も追随して0から並び替えたいのですが〜。 。 どうすればいいですか?

-----解決策---------

PHP コード

$fruits = array("d"=>"レモン", "a"=>"オレンジ", "b"=>"バナナ", "c"=>"リンゴ");
ksort($fruits);
print "<pre class="brush:php;toolbar:false">";
var_dump($fruits);
<br><font color="#e78608">------解決策------------------</font><br>
ログイン後にコピー
PHP コード

$ar = 配列(
       配列("10", 11, 100, 100, "a"),
       配列(1, 2, "2", 3, 1)
      );
   
array_multisort($ar[0], SORT_ASC, SORT_STRING,
                $ar[1]、SORT_NUMERIC、SORT_DESC);
//SORT_ASC、SORT_DESC、SORT_REGULAR、SORT_NUMERIC、SORT_STRING
print "<pre class="brush:php;toolbar:false">";
print_r($ar);
<br><font color="#e78608">------解決策------------------</font><br>
これが必要だと思います - <br>コードの最後の部分の最後のパラメータをよく見てください<br><br><br>例 #4 データベースの結果を並べ替えます<br><br><br> この例では、データ配列 の各セルはテーブル内の行を表します。これは、データベースに記録される典型的なデータのコレクションです。 <br><br><br>この例のデータは次のとおりです: <br><br><br>ボリューム | エディション<br>------+--------<br> 67 | 2<br> 86 | 6<br> 86 | 6<br> 67 | 7<br><br><br> data middle という名前の配列。これは通常、mysql_fetch_assoc() などのループを通じてデータベースから取得されます。 <br><br><br><?php<br />$data[] = array('volume' => 67, 'edition' => 2);<br />$data[] = array( 'ボリューム' => 86, 'エディション' => 1);<br />$data[] = array('ボリューム' => 85, 'エディション' => 6);<br />$data[ ] = array('volume' => 98, 'edition' => 2);<br />$data[] = array('volume' => 86, 'edition' => 6);<br />$data[] = array('volume' => 67, 'edition' => 7);<br />?><br /><br /><br />この例では、ボリュームは次のようにソートされます。降順でエディションを昇順に並べます。 <br /><br /><br />これで行を含む配列ができましたが、array_multisort() には列を含む配列が必要なので、次のコードを使用して列を取得し、並べ替えます。 <br /><br /><br /><?php<br />// 列のリストを取得します<br />foreach ($data as $key => $row) {<br> $volume[$key] = $ row['volume'];<br> $edition[$key] = $row['edition'];<br>}<br><br>// データをボリュームに従って降順に並べ替えます。エディションに応じた昇順<br>// $data を最後のパラメータとして使用し、共通キーで並べ替えます <br>array_multisort($volume, SORT_DESC, $edition, SORT_ASC, $data);<br>?> <br> <br><br>データ コレクションがソートされ、結果は次のようになります: <br><br><br>ボリューム | エディション<br>------+-------- <br> 98 | 2<br> 86 | 6<br> 67 | 2<br>
<br><br>------解決策------------------<br><br>
$t がソートの結果であり、添え字が昇順ではないと仮定すると <br>、$t = array_values($t);<br> は昇順の添え字 <br><br> に変換できます。
ログイン後にコピー
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート