私は、外部ソースから情報を取り出し、そのデータを少し処理するシステムに取り組んでいます。私はJavaScriptでデータを処理するときに、クライアントのために私の望む機能を実行するようにしました。次は、情報をデータベースに保存したいということです。しかし、ここで私はそれをPHP(またはそれを行う他のサーバ側の方法)でのみ処理したいと思っています。私が現在混乱させているのは、配列を置き換えるものです。PHP配列の値の置換(または代替)
私が現在配列に格納しているのは、プレイヤーID、時、名前、自転車です。私がフェッチしているデータは、バイクを2つのクラス(2と4ストローク)に分割しているため、それぞれのデータセットを個別にフェッチする必要があります。配列 "rec450"には、4strokeクラスの関連情報が含まれています。私がここでやりたいことは、特定のユーザーの2ストローククラスを比較し、2ストロークで時間がより速いかどうかを確認することです。もしそうなら、私は "rec450"配列のデータを2ストローク配列の新しい情報で置き換えたいと思っています。だから私は、この機能を持っているしたいと思います:ここで
if(class1[‘time’] < class2[‘time’]){
replace class1 info with the class2 info;
}
は、私が現在使用しているPHPのコードです:
//Pushing the data I want from the fetched array to a new array. This array is no longer associative.
foreach ($rr450f as $key => $value) {
$tmpArr = array(
"name" => $value['name'],
"time" => $value['time'],
"bike" => $value['bike'],
"uid" => $value['uid']
);
array_push($rec450, $tmpArr);
}
これは私がrec450配列の値を変更しようとする方法である。
ここでforeach($rr250 as $key => $value){
foreach ($rec450 as $k => $v) {
if($value['uid'] == $v['uid']){
$k['time'] = $value['time'];
$k['bike'] = $value['bike'];
$k['name'] = $value['name'];
$k['uid'] = $value['uid'];
}
}
}
は、私が使用しているrec450配列(構造)のますprint_rです:
Array(
[0] => Array
(
[name] => Player One
[time] => 17068
[bike] => rmz450(2013)
[uid] => 90970
)
[1] => Array
(
[name] => Player Two
[time] => 8959
[bike] => 450sxf(2016)
[uid] => 76800
)
[2] => Array
(
[name] => Player Three
[time] => 8300
[bike] => yz450f(2016)
[uid] => 90380
)
[3] => Array
(
[name] => Player Four
[time] => 8791
[bike] => 450sxf(2016)
[uid] => 89240
)
[4] => Array
(
[name] => Player Five
[time] => 19640
[bike] => 450sxf(2016)
[uid] => 98809
)
)
これは、列が除外される前に、基本形式の2ストロークデータを含む配列です。この段階で
Array
(
[90970] => Array
(
[time] => 11929
[bike] => rm250(2008)
[number] => 123
[name] => Player One
[uid] => 90970
[url] => /path/to/player/info
)
[9248] => Array
(
[time] => 9922
[bike] => cr250(2007)
[number] => 124
[name] => Player Twelve
[uid] => 60030
[url] => /path/to/player/info
)
)
私が何をしたいプレイヤーが速く2stroke上だった場合2stroke時間で4stroke時間を交換するいくつかの方法です。不必要なデータをフィルタリングする必要がなく、r450fからrec450を実行しているときに配列の関連付けを失う場合、私はそれをスキップすることができます。
第1の配列の値を第2の配列の値に置き換える方法については、本当に感謝しています。