我正在從一個從外部源獲取信息然後處理數據的系統上工作。在JavaScript中處理數據時,我已經完成了它爲客戶端做我希望的功能。接下來是我想將信息存儲在數據庫中。但在這裏我只想用PHP(或者其他服務器端的方式)來處理它。目前令我困惑的是一些數組替換的東西。PHP數組值替換(或替代)
我現在儲存在陣列中的是玩家ID,時間,姓名和自行車。我提取的數據是將自行車劃分爲2個類別(2和4stroke),因此我必須單獨提取每組數據。數組「rec450」包含來自4stroke類的相關信息。我想在這裏做的是比較給定用戶的2stroke類,看看2stroke的時間是否更快。如果是這樣,我想用「2stroke」數組中的新信息替換「rec450」數組中的數據。所以,我想有這樣的功能:
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
)
)
這是在任何列被過濾之前包含基本形式的2stroke數據的數組。
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次更換4stroke倍,如果球員是在2stroke更快。如果在我將rr450f寫入rec450時不必過濾掉不必要的數據並丟失數組的關聯,那麼我可以忽略它。
我真的很感激任何有關如何將第一個數組中的值與第二個數組中的值進行替換的信息!