質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

2回答

2680閲覧

PHPのソートの仕方がイマイチ分かりませんので教えてください

snlsnr

総合スコア11

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2015/07/17 06:29

編集2015/07/17 07:49

スミマセン、phpのソートの仕方を教えて下さい。
ソートしたい配列をprint_rしたものを下に示します。

このなかにある1回戦、2回戦のところを逆順にソートしたいのですが、
どのように記述すればよろしいでしょうか。
array_multisortを使っても思うように出来なくて困っています。

(より詳細なprint_rにします)
Array
(
[ishikawa] => Array
(
[20140716] => Array
(
[2回戦] => Array
(
[0] => Array
(
[sen_name] => テスト
[sen_score] => 50
[kou_name] => テスト
[kou_score] => 90
)

) ) [20140715] => Array ( [1回戦] => Array ( [0] => Array ( [sen_name] => テスト [sen_score] => 90 [kou_name] => テスト [kou_score] => 00 ) ) [2回戦] => Array ( [0] => Array ( [sen_name] => テスト [sen_score] => 11 [kou_name] => テスト [kou_score] => 20 ) ) )

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

下記の様なイメージでしょうか。

PHP

1<?php 2 3// test data 4$array["ishikawa"] = array( 5 '20140716' => array( 6 '1回戦' => array( 7 '0' => array( 8 'sen_name' => "テスト1", 9 'sen_score' => 10, 10 'kou_name' => "テスト2", 11 'kou_score' => 0, 12 ), 13 ), 14 ), 15 '20140715' => array( 16 '1回戦' => array( 17 '0' => array( 18 'sen_name' => "テスト3", 19 'sen_score' => 10, 20 'kou_name' => "テスト4", 21 'kou_score' => 0, 22 ), 23 ), 24 '2回戦' => array( 25 '0' => array( 26 'sen_name' => "テスト5", 27 'sen_score' => 11, 28 'kou_name' => "テスト6", 29 'kou_score' => 20, 30 ), 31 ), 32 ), 33); 34 35foreach((array)$array as $key => $value) { 36 foreach((array)$value as $_key => $_value) { 37 // "x回戦" で降順sort 38 krsort($_value); 39 // "x回戦" で逆順sort 40 // $_value = array_reverse($_value); 41 $value[$_key] = $_value; 42 } 43 $array[$key] = $value; 44} 45 46print_r($array); 47/** 48Array 49( 50 [ishikawa] => Array 51 ( 52 [20140716] => Array 53 ( 54 [1回戦] => Array 55 ( 56 [0] => Array 57 ( 58 [sen_name] => テスト1 59 [sen_score] => 10 60 [kou_name] => テスト2 61 [kou_score] => 0 62 ) 63 64 ) 65 66 ) 67 68 [20140715] => Array 69 ( 70 [2回戦] => Array 71 ( 72 [0] => Array 73 ( 74 [sen_name] => テスト5 75 [sen_score] => 11 76 [kou_name] => テスト6 77 [kou_score] => 20 78 ) 79 80 ) 81 82 [1回戦] => Array 83 ( 84 [0] => Array 85 ( 86 [sen_name] => テスト3 87 [sen_score] => 10 88 [kou_name] => テスト4 89 [kou_score] => 0 90 ) 91 92 ) 93 94 ) 95 96 ) 97 98) 99*/ 100?> 101

投稿2015/07/17 08:00

編集2015/07/21 08:17
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

snlsnr

2015/07/28 03:56

コメント遅れて申し訳ありませんでした。 上記方法で無事ソートすることが出来ました。 ありがとうございました。
guest

0

ksort関数でいかがでしょう?
http://php.net/manual/ja/function.ksort.php

投稿2015/07/17 07:29

SatoshiMashino

総合スコア210

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問