Php 通过在另一个数组中搜索一个数组来生成键值数组

Php 通过在另一个数组中搜索一个数组来生成键值数组,php,arrays,Php,Arrays,我正在尝试构建一个应用程序,其中有两个数组,第二个数组正在对第一个数组应用rsort $array_1 = array('20','30','30','20'); $array_2 = array('30','30','20','20'); 我想通过在数组2中搜索数组_1并返回键值来生成一个新数组,即 $key_array = array('2','0','1','3'); 我试着 $array_1 = array('20','30','30','20'); $array_2 = $arra

我正在尝试构建一个应用程序,其中有两个数组,第二个数组正在对第一个数组应用rsort

$array_1 = array('20','30','30','20');
$array_2 = array('30','30','20','20');
我想通过在数组2中搜索数组_1并返回键值来生成一个新数组,即

$key_array = array('2','0','1','3');
我试着

$array_1 = array('20','30','30','20');
$array_2 = $array_1;

rsort($array_2);
$first_keys = array();
foreach($array_1 as $key=>$arr1){
    $first_keys[] = array_search($arr1, $array_2);
}
echo "<pre>";
print_r($first_keys);

您需要从$array2中删除每次搜索的值,同时保留数组引用。这应该有效(此处无法测试):

$array_1=array('20','30','30','20');
$array_2=$array_1;
rsort($2);
$first_keys=array();
foreach($key=>$arr1的数组_1){
$key=数组_U搜索($arr1,$array_U2);
$first_key[]=$key;
$array_2[$key]=“”;
}
回声“;
打印(第一个按键);

您需要从$array2中删除每次搜索的值,同时保留数组引用。这应该有效(此处无法测试):

$array_1=array('20','30','30','20');
$array_2=$array_1;
rsort($2);
$first_keys=array();
foreach($key=>$arr1的数组_1){
$key=array\u search($arr1,$array\u 2);
$first_key[]=$key;
$array_2[$key]=“”;
}
回声“;
打印(第一个按键);

您必须从第二个数组中删除搜索的键

从第二个数组中取消设置该键。(正在工作)

$array_1=array('20','30','30','20');
$array_2=$array_1;
rsort($2);
$first_keys=array();
foreach($key=>$arr1的数组_1){
$searchKey=array\u search($arr1,$array\u 2);
$first_key[]=$searchKey;
未设置($array_2[$searchKey]);
}
回声“;
打印(第一个按键);

您必须从第二个数组中删除搜索的键

从第二个数组中取消设置该键。(正在工作)

$array_1=array('20','30','30','20');
$array_2=$array_1;
rsort($2);
$first_keys=array();
foreach($key=>$arr1的数组_1){
$searchKey=array\u search($arr1,$array\u 2);
$first_key[]=$searchKey;
未设置($array_2[$searchKey]);
}
回声“;
打印(第一个按键);

获取此输出的依据是什么?我有点搞不清楚是基于什么来获得这个输出的?我有点糊涂…弄明白了…弄明白了
foreach($array_1 as $key=>$arr1){
    $array_1[$key] = 'xx';
    $first_keys[] = array_search($arr1, $array_2);
}
$array_1 = array('20','30','30','20');
$array_2 = $array_1;

rsort($array_2);
$first_keys = array();
foreach($array_1 as $key=>$arr1){
     $key= array_search($arr1, $array_2);
     $first_keys[] = $key;
     $array_2[$key]="";
}
echo "<pre>";
print_r($first_keys);
$array_1 = array('20','30','30','20');

$array_2 = $array_1;

rsort($array_2);

$first_keys = array();
foreach($array_1 as $key=>$arr1){
    $searchKey = array_search($arr1, $array_2);
    $first_keys[] = $searchKey;
    unset($array_2[$searchKey]);

}
echo "<pre>";
print_r($first_keys);