###前提・実現したいこと
phpとMySQLを使ってガチャを制作しています。
その時にガチャの結果として帰ってくるIDの配列とIDを元に取得したカード配列から最終的に画面出力するカード配列を作りたいです。
指定IDと同じIDの要素がカード配列のどこにあるか調べたい。
###発生している問題
データベースから取得するカードは同じIDがあったとしてもひとつしか結果が返ってこないため、
最終的に表示するときカード枚数がIDの内容によって変わってしまう。
###該当のソースコード
php
1//ID配列 2//実際はランダムに10個のIDを取得する(重複あり) 3$id = array(1,3,6,4,4,10,5,16,8,9); 4 5//データベースから取得したカード配列 6//ID配列にあるIDのカードのみ(重複なし) 7$cards = array( 8array("id" => 1, 9 "name" =>"", 10 "rarity"=>""), 11array("id" => 3, 12 "name" =>"", 13 "rarity"=>""), 14array("id" => 4, 15 "name" =>"", 16 "rarity"=>""), 17array("id" => 5, 18 "name" =>"", 19 "rarity"=>""), 20array("id" => 6, 21 "name" =>"", 22 "rarity"=>""), 23array("id" => 8, 24 "name" =>"", 25 "rarity"=>""), 26array("id" => 9, 27 "name" =>"", 28 "rarity"=>""), 29array("id" => 10, 30 "name" =>"", 31 "rarity"=>""), 32array("id" => 16, 33 "name" =>"", 34 "rarity"=>""), 35); 36 37 38 39//最終的に作りたい配列 40$arr = array( 41array("id" => 1, 42 "name" =>"", 43 "rarity"=>""), 44array("id" => 3, 45 "name" =>"", 46 "rarity"=>""), 47array("id" => 6, 48 "name" =>"", 49 "rarity"=>""), 50array("id" => 4, 51 "name" =>"", 52 "rarity"=>""), 53array("id" => 4, 54 "name" =>"", 55 "rarity"=>""), 56array("id" => 10, 57 "name" =>"", 58 "rarity"=>""), 59array("id" => 5, 60 "name" =>"", 61 "rarity"=>""), 62array("id" => 16, 63 "name" =>"", 64 "rarity"=>""), 65array("id" => 8, 66 "name" =>"", 67 "rarity"=>""), 68array("id" => 9, 69 "name" =>"", 70 "rarity"=>""), 71);
・ループで作るとしてもidの順番がランダムのため難しい
・IDをソートして作っても表示はソート前のランダムの順番で出したいため元配列参照が必要になる。
###補足情報
OS CentOS 6.6
言語 php5.4
サーバー Apache 2.2
何か良い方法がありましたら教えていただきたいです。
よろしくお願いします。
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。