这是一道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的顺序出结果
解决方案 »
- 想把php中提交的表单内容写到各个不同的文件中
- phpmyadmin修改密码后不能登陆
- globals 放在函数内部的含义是什么?
- php开发工具PDT的配置!
- PHP+SQL SERVER数据库 DB Error: connect failed
- 超大型文件的改写问题
- linux下不能用上一页的文本框变量?
- PHP的类中有没有析构函数?
- 在win2000上如何安装配置PHP+Apache使调试通过?
- WP编辑器会自动去掉回车换行,文章都挤到一块了,有什么好的解决方法?
- 请教表单提交的方法(相同数据提交应用后处理需要的数据再次提交特定文件,此步骤自动操作)
- POD调用Oracle存储过程的使用方法
{
$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];
}
}