PHP は別のコンテナーを使用して配列値をソートします。php array sort_PHP チュートリアル

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

PHP 配列値をソート、別のコンテナーを使用、PHP 配列ソート

PHP 配列値をソート、別のコンテナーを使用

<?<span>php
</span><span>/*</span><span> 排序方式::事实上只需要将要循环的数组进行N次循环,然后每次取最大的一个值</span><span>*/</span>
<span>$array</span> = <span>array</span>(100,25,10,258,33,48,10,5,13,58,333,108,1.2,5,3,33,0.7);<span>//</span><span>3 1 2 | 1 2 | 1 |</span>
<span>$array2</span> = <span>array</span><span>();
</span><span>for</span>(<span>$y</span>=1;<span>$y</span><=17;<span>$y</span>++<span>){
    </span><span>$max</span>   = 0<span>;
    </span><span>for</span>(<span>$i</span>=0;<span>$i</span><<span>count</span>(<span>$array</span>);<span>$i</span>++<span>){
        </span><span>if</span>(<span>$array</span>[<span>$i</span>] > <span>$max</span><span>){
            </span><span>$index</span> = <span>$i</span><span>;
            </span><span>$max</span> = <span>$array</span>[<span>$i</span><span>];
        }
    }
    </span><span>unset</span>(<span>$array</span>[<span>$index</span><span>]);
    </span><span>sort</span>(<span>$array</span><span>);
    </span><span>array_push</span>(<span>$array2</span>,<span>$max</span><span>);
}
</span><span>print_r</span>(<span>$array2</span><span>);
</span>?>
ログイン後にコピー

1 PHPのソート関数を使用して、次の配列をソートします2. ユーザーはフォーム上の学籍番号、名前、成績の3列、合計5行にデータを入力します

しばらくの間、この課題を完了することは一種の演習とみなすことができます。以下のコードは比較的効率が悪いように感じますが、データベースを使用してみてはいかがでしょうか。


header('Content-type:text/html;charset=utf-8');
//2次元配列ソート
function sysSortArray($ArrayData, $KeyName1, $SortOrder1 = "SORT_ASC " , $SortType1 = "SORT_REGULAR")
{
if (!is_array($ArrayData)) {
return $ArrayData;
}

// 引数番号を取得します
$ArgCount = func_num_args();

// 取得並べ替えるキーを指定して SortRule 配列に置きます。
for ($I = 1; $I < $ArgCount; $I++) {
$Arg = func_get_arg($I);
if (!eregi("SORT", $ Arg)) {
$KeyNameList[] = $Arg;
$SortRule[] = '$' . $Arg;
} else {
$SortRule[] = $Arg;
}
}

// を取得します
foreach ($ArrayData as $Key => $Info) {
foreach ($KeyNameList as $KeyName) {
${$KeyName}[$Key] = $Info[ $ KeyName];
}
}

// eval 文字列を作成して評価します
$EvalString = 'array_multisort(' . join(",", $SortRule) . ',$ArrayData);';
eval( $ EvalString);
return $ArrayData;
}

$keys = array('stu_no','name','price');

//出力テーブル
echo "並べ替える必要があるデータを入力してください:
";
echo "
";
echo "";
echo "";
for ($row = 1; $row echo "";
for ($col = 1; $col <4; $col++) {
echo "echo "";

//配列を変換
if (isset($_POST['bt'])) {
for ($row = 1; $row < 6; $ row++ )
for ($col = 1; $col < 4; $col++) {
$key = $keys[$col-1];
$stu[$row][$key] = $_POST['stu_ ' . $row . '_' . $col];
}
echo '
';<br> print_r($stu);<br> echo '
';

//ソート
$ temp = sysSortArray($stu,'price',"SORT_ASC");

echo '
';<br>print_r($temp);<br>echo '
'

?>

PHPでキー値配列をソートする方法

array_change_key_case -- 文字列キーがすべて小文字または大文字である配列を返します
array_chunk -- 配列を複数に分割します
array_combine -- 1 つの配列の値をキー名として使用し、別の配列の値をキー名として使用して配列を作成しますvalue
array_count_values -- 配列内のすべての値の出現数をカウントします。
array_diff_assoc -- ユーザーが指定したコールバック関数によって実行される追加のインデックス チェックを使用して配列の差を計算します。
array_diff -- 差を計算します。配列の変換
array_fill -- 指定された値で配列を埋める
array_filter -- コールバック関数で配列内のセルをフィルタリングする
array_flip -- 配列内のキーと値を交換する
array_intersect_assoc -- インデックスチェックあり 計算する配列の交差部分
array_intersect -- 配列の交差部分を計算します
array_key_exists -- 指定されたキーまたはインデックスが配列内に存在するかどうかを確認します
array_keys -- 配列内のすべてのキーを返します
array_map -- コールバック関数を指定された
に適用しますarray_merge_recursive -- 2 つ以上の配列を再帰的に結合します
array_merge -- 2 つ以上の配列を結合します
array_multisort -- 複数の配列または多次元配列を並べ替えます
array_pad -- 値で配列を並べ替えます 指定された長さまで埋める
array_pop -- 最後の単位をポップします配列 (pop)
array_push -- 1 つまたは複数のユニットを配列の最後にプッシュします (push)
array_rand -- 配列から 1 つまたは複数のユニットをランダムに取得します Unit
array_reduce -- コールバック関数を使用して配列を反復的に削減します単一の値に変換します
array_reverse -- 単位を逆順にした配列を返します
array_search -- 配列で指定された値を検索し、成功した場合は対応するキーを返します
array_shift -- 配列の先頭を配列の外に移動します
array_slice -- 配列からセグメントを削除します
array_splice -- 配列の一部を削除し、他の値に置き換えます
array_sum -- 配列内のすべての値の合計を計算します
array_udiff_assoc -- の差を計算します追加のインデックス チェックを使用した配列。データはコールバック関数を使用して比較されます。
array_udiff_uassoc -- 追加のインデックス チェックを使用して配列の差分を計算します。データはコールバック関数を使用して比較されます。
array_udiff -- データ比較用のコールバック関数を使用して配列の差分を計算します。
array_unique -- 配列内の重複する値を削除します。
array_unshift -- 配列の先頭に 1 つ以上のセルを挿入します。
array_values - - 配列を返します
array_walk 内のすべての値を返します
array_walk -- 配列内の各メンバーにユーザー関数を適用します
array -- 新しい配列を作成します
arsort -- 配列を逆にソートし、インデックス関係を維持します
asort -- をソートします配列を作成し、インデックス関係を維持します
compact -- 変数名とその値を含む配列を作成します
count -- 変数内のセルの数をカウントします
current -- 配列内の現在のセルを返します
each -- Return配列内の現在のキーと値のペアを取得し、配列に保存します。 ポインタを 1 つ前に移動します。
end -- 配列の内部ポインタを最後の要素にポイントします。
extract -- 変数を配列から現​​在のシンボルにインポートします。 table
in_array -- 配列に特定の値が存在するかどうかを確認します
key -- From 結合された配列からキー名を取得します
krsort -- キー名によって配列を逆順に並べ替えます
ksort -- に従って配列を並べ替えますキー名
list -- 配列内の値をいくつかの変数に割り当てます
natcasesort -- 「自然ソート」アルゴリズムを使用します 大文字と小文字を区別しない方法で配列をソートします
natsort -- 「自然ソート」を使用して配列をソートします" アルゴリズム
next -- 配列内の内部ポインタを 1 ビット進めます
pos -- 配列の現在のセルを取得します
prev -- 配列の内部ポインタを 1 ビット巻き戻します
range -- を含む配列を作成します指定されたセル範囲
reset -- 配列の内部ポインタを最初のセルにポイントします
rsort -- 配列を逆順にソートします
shuffle -- 配列を置換します Scramble
sizeof -- count() のエイリアス
sort -- 配列を並べ替えます
uasort -- ユーザー定義の比較関数を使用して配列内の値を並べ替え、インデックスの関連付けを維持します
uksort -- ユーザー定義の比較関数を使用して配列内のキーを並べ替えます
usort - - ユーザー定義の比較関数を使用して配列内の値を並べ替えます

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/827774.html技術記事 PHP は別のコンテナを使用して配列値をソートします。php array sort PHP は配列値をソートします。別のコンテナを使用しますか? php /* ソート方法:: 実際にはループするだけです...
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
学生ID名前< /td> ;結果