这是一道php的题目
<?php
$a = array(11=>aa,22=>bb,33=>cc,44=>dd,55=>ee);
$b = array(22,11,33,55,44);
上面两个集合如何能做到以下的结果
$c = array(22=>bb,11=>aa,33=>cc,55=>ee,44=>dd);
要按照$b的顺序出结果
<?php
$a = array(11=>aa,22=>bb,33=>cc,44=>dd,55=>ee);
$b = array(22,11,33,55,44);
上面两个集合如何能做到以下的结果
$c = array(22=>bb,11=>aa,33=>cc,55=>ee,44=>dd);
要按照$b的顺序出结果
{
$c[$b[$i]]=$a[$b[$i]];
}
if(isset($a[$k])){
$c[$k] = $a[$k];
}
}
foreach ($b as $v){
$c[$v] = str_repeat(chr(substr($v,0,1)+96),2);
}
$a = array(11=>'aa',22=>'bb',33=>'cc',44=>'dd',55=>'ee');
$b = array(22,11,33,55,44);
print_r(change_position($a,$b));
function change_position($input_array,$change_array)
{
if(!is_array($input_array) || !is_array($change_array))
{
return false;
}
foreach ($change_array as $value)
{
$new_array[$value]=$input_array[$value];
}
return $new_array;
}
/*
结果
Array
(
[22] => bb
[11] => aa
[33] => cc
[55] => ee
[44] => dd
)*/
$b = array(22,11,33,55,44);
foreach($b as $val){
foreach($a as $k=>$v){
if($val == $k){
$new_arr[$k] = $v;
}
}
}
var_export($new_arr);
/*
结果为:
array (
22 => 'bb',
11 => 'aa',
33 => 'cc',
55 => 'ee',
44 => 'dd',
)
*/
foreach($b as $v){
$c[$v] = $a[$v];
}
if(isset($a[$key])){
$c[$key] = $a[$key];
}
}