gpt4 book ai didi

PHP 数组值替换(或替代)

转载 作者:搜寻专家 更新时间:2023-10-31 21:22:10 25 4
gpt4 key购买 nike

我正在开发一个系统,该系统从外部来源获取信息,然后对数据进行一些处理。在用 JavaScript 处理数据时,我已经让它为客户端完成我想要的功能。接下来是我想将信息存储在数据库中。但在这里我想只用 PHP 来处理它(或者用其他一些服务器端的方式来处理它)。目前让我感到困惑的是一些数组替换的东西。

我现在存储在数组中的是玩家 ID、时间、姓名和自行车。我正在获取的数据将自行车分为 2 类(2 冲程和 4 冲程),因此我必须单独获取每组数据。数组“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
)
)

在这个阶段,我想要的是一些方法,如果玩家在 2 杆上更快,则用 2 杆时间替换 4 杆时间。如果我在执行 rr450f 到 rec450 时不需要过滤掉不必要的数据并丢失数组的关联,我可以跳过它。

非常感谢有关如何将第一个数组中的值替换为第二个数组中的值的任何信息!

最佳答案

你可能看错了。

本质上,您要实现的目标是按“时间”键对多维数组进行排序。

http://docs.php.net/manual/en/function.array-multisort.php

创建数组后尝试以下代码

$list = array();
foreach ($rec450 as $key => $row)
{
$list[$key] = $row['time'];
}
array_multisort($list, SORT_ASC, $rec450);

这里发生的事情是我们从所有时间中创建一个数组,然后根据这个新数组对主数组进行排序。

我必须在这个背后添加一些功劳,来自这个原始帖子,并接受了答案。

How to sort an array of associative arrays by value of a given key in PHP?

关于PHP 数组值替换(或替代),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44844713/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com