Php 显示基于另一个数组排序的数组

Php 显示基于另一个数组排序的数组,php,arrays,Php,Arrays,我有两个数组 Array 1 : $agents = Array('abc','xyz','pqr'); Array 2 : $tot_calls = Array ('10','5','20'); 这里,数组2分别反映了$agents数组中代理进行的调用总数。 i、 e代理abc打了10个电话,代理xyz打了5个电话,以此类推 我希望结果数组显示按调用次数排序(降序)的代理 i、 e$result=Array('pqr','abc','xyz')//在这里,结果数组根据它们所做的最大调用进行排

我有两个数组

Array 1 : $agents = Array('abc','xyz','pqr');
Array 2 : $tot_calls = Array ('10','5','20');
这里,数组2分别反映了$agents数组中代理进行的调用总数。 i、 e代理abc打了10个电话,代理xyz打了5个电话,以此类推

我希望结果数组显示按调用次数排序(降序)的代理


i、 e
$result=Array('pqr','abc','xyz')
//在这里,结果数组根据它们所做的最大调用进行排序。

在这种特定情况下,您可以将
array\u combine()
krsort()
合并。考虑这个例子:

$agents = Array('abc','xyz','pqr');
$tot_calls = Array ('10','5','20');
// calls become the keys and agents become the values
$sorted_values = array_combine($tot_calls, $agents);
krsort($sorted_values); // sort them by keys

print_r($sorted_values);

// maybe if you want to clear the keys
$sorted_values = array_values($sorted_values);

编辑:

或者,@Satish对此提出了一个很好的观点。为了避免相同的密钥问题(好吧,至少在没有代理名称冲突的情况下)。您可以改为使用此选项(正好相反):


您可以在这种特殊情况下组合
数组\u combine()
krsort()。考虑这个例子:

$agents = Array('abc','xyz','pqr');
$tot_calls = Array ('10','5','20');
// calls become the keys and agents become the values
$sorted_values = array_combine($tot_calls, $agents);
krsort($sorted_values); // sort them by keys

print_r($sorted_values);

// maybe if you want to clear the keys
$sorted_values = array_values($sorted_values);

编辑:

或者,@Satish对此提出了一个很好的观点。为了避免相同的密钥问题(好吧,至少在没有代理名称冲突的情况下)。您可以改为使用此选项(正好相反):


您可以在这种特殊情况下组合
数组\u combine()
krsort()。考虑这个例子:

$agents = Array('abc','xyz','pqr');
$tot_calls = Array ('10','5','20');
// calls become the keys and agents become the values
$sorted_values = array_combine($tot_calls, $agents);
krsort($sorted_values); // sort them by keys

print_r($sorted_values);

// maybe if you want to clear the keys
$sorted_values = array_values($sorted_values);

编辑:

或者,@Satish对此提出了一个很好的观点。为了避免相同的密钥问题(好吧,至少在没有代理名称冲突的情况下)。您可以改为使用此选项(正好相反):


您可以在这种特殊情况下组合
数组\u combine()
krsort()。考虑这个例子:

$agents = Array('abc','xyz','pqr');
$tot_calls = Array ('10','5','20');
// calls become the keys and agents become the values
$sorted_values = array_combine($tot_calls, $agents);
krsort($sorted_values); // sort them by keys

print_r($sorted_values);

// maybe if you want to clear the keys
$sorted_values = array_values($sorted_values);

编辑:

或者,@Satish对此提出了一个很好的观点。为了避免相同的密钥问题(好吧,至少在没有代理名称冲突的情况下)。您可以改为使用此选项(正好相反):

试试这个

$agents = Array('abc','xyz','pqr');
$tot_calls = Array (10, 5, 20);

arsort($tot_calls);
foreach($tot_calls as $key=>$val)
{
  $arr_agents[] = $agents[$key];
}
print_r($arr_agents);
输出:

Array
(
    [0] => pqr
    [1] => abc
    [2] => xyz
)

$agents = Array('abc','xyz','pqr','lmn');
$tot_calls = Array ('10', '5', '20', '5');
输出-2:

Array
(
    [0] => pqr
    [1] => abc
    [2] => lmn
    [3] => xyz
)
试试这个

$agents = Array('abc','xyz','pqr');
$tot_calls = Array (10, 5, 20);

arsort($tot_calls);
foreach($tot_calls as $key=>$val)
{
  $arr_agents[] = $agents[$key];
}
print_r($arr_agents);
输出:

Array
(
    [0] => pqr
    [1] => abc
    [2] => xyz
)

$agents = Array('abc','xyz','pqr','lmn');
$tot_calls = Array ('10', '5', '20', '5');
输出-2:

Array
(
    [0] => pqr
    [1] => abc
    [2] => lmn
    [3] => xyz
)
试试这个

$agents = Array('abc','xyz','pqr');
$tot_calls = Array (10, 5, 20);

arsort($tot_calls);
foreach($tot_calls as $key=>$val)
{
  $arr_agents[] = $agents[$key];
}
print_r($arr_agents);
输出:

Array
(
    [0] => pqr
    [1] => abc
    [2] => xyz
)

$agents = Array('abc','xyz','pqr','lmn');
$tot_calls = Array ('10', '5', '20', '5');
输出-2:

Array
(
    [0] => pqr
    [1] => abc
    [2] => lmn
    [3] => xyz
)
试试这个

$agents = Array('abc','xyz','pqr');
$tot_calls = Array (10, 5, 20);

arsort($tot_calls);
foreach($tot_calls as $key=>$val)
{
  $arr_agents[] = $agents[$key];
}
print_r($arr_agents);
输出:

Array
(
    [0] => pqr
    [1] => abc
    [2] => xyz
)

$agents = Array('abc','xyz','pqr','lmn');
$tot_calls = Array ('10', '5', '20', '5');
输出-2:

Array
(
    [0] => pqr
    [1] => abc
    [2] => lmn
    [3] => xyz
)

它的方法是错误的如果有更多的用户使用相同的调用会发生什么如果有更多的用户使用相同的调用,例如
$agents=array('abc','xyz','pqr','lmn'),那么会发生什么$tot_calls=Array('10','5','20','5')@kevinabelita还不正确。查看您的代码的错误方法如果有更多用户使用相同的调用,会发生什么情况?数组中的相同索引将如何按数组组合。如果有更多用户使用相同的调用,如
$agents=array('abc'、'xyz'、'pqr'、'lmn'),会发生什么情况$tot_calls=Array('10','5','20','5')@kevinabelita还不正确。查看您的代码的错误方法如果有更多用户使用相同的调用,会发生什么情况?数组中的相同索引将如何按数组组合。如果有更多用户使用相同的调用,如
$agents=array('abc'、'xyz'、'pqr'、'lmn'),会发生什么情况$tot_calls=Array('10','5','20','5')@kevinabelita还不正确。查看您的代码的错误方法如果有更多用户使用相同的调用,会发生什么情况?数组中的相同索引将如何按数组组合。如果有更多用户使用相同的调用,如
$agents=array('abc'、'xyz'、'pqr'、'lmn'),会发生什么情况$tot_calls=Array('10','5','20','5')@kevinabelita还不正确。请参阅您的代码