【发布时间】:2016-07-04 11:35:41
【问题描述】:
我有一个想要更改的数组 ($myArray):
array(2) {
[0]=>
array(2) {
[0]=>
string(3) "100"
[1]=>
string(9) "fancyLink"
}
[1]=>
array(2) {
[0]=>
string(3) "200"
[1]=>
string(10) "fanyLink2"
}
}
我有两个具有以下结构的 POST 数组。
第一个数组$number:
array(2) {
[0]=>
string(3) "100"
[1]=>
string(3) "200"
}
和第二个数组$links:
array(2) {
[0]=>
string(12) "newFancyLink"
[1]=>
string(13) "newFancyLink2"
}
要更改$myArray 以根据$number-value 替换一个或多个链接,我想使用以下行
for($i = 0; $i < 2; $i++)
{
$myArray[array_search($number[$i], array_column($myArray, "0"))][1] = $links[$i];
}
但这不起作用,它将100 和200 的两个链接设置为相同的值(第二个链接)
我写了这段代码,但我想用另一行代替,或者至少比较一下它的性能
for($i = 0; $i < 2; $i++)
{
for($j = 0; $j < 2; $j++)
{
if($myArray[$j][0] == $number[$i])
{
$myArray[$j][1] = $links[$i];
}
}
}
使用$number-value 作为键会使这更容易,但这不是我的选择。
求解后编辑
如果有人想知道,这两个版本几乎完全相同。在此运行时中每个结果运行 10000 次:
0.10158801078796
0.10160994529724
【问题讨论】: