php将一个数组按另一个数组的规则替换键值并获取其值转为字符串

Amy安 2016-01-05 06:40:44
现在有两个数组

$arr1=array(
"q" => "1",
"w" => "2",
"e" => "3"
);
$arr2=array(
[0] => "你",
[1] => "我",
[2] => "他"
);


现在我需要得到这样一个数组

$arr = array(
"q" => "你",
"w" => "我",
"e" => "他"
);
//然后需要只获取这个数组的值 转为字符串 用逗号隔开 $str ='你,我,他';
...全文
1054 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Amy安 2016-01-07
  • 打赏
  • 举报
回复
引用 4 楼 u014294325 的回复:
[quote=引用 3 楼 xuzuning 的回复:] Array ( [0] => Array ( [is_notice] => 5 ) [1] => Array ( [is_notice] => 16 ) ) 你这可是二维数组呀
啊哦... 原来只读取一个字段也会是一个数组 从数据库里读出来的都是is_notice这个字段 这里我怎么转成 $arr1=array( "is_notice" => "1", "is_notice" => "5", "is_notice" => "16" ); 求教[/quote] 这样也是二维数组了 这样可以 $arr3[] = $arr2[$v['is_notice']]; 感谢!!
傲雪星枫 2016-01-05
  • 打赏
  • 举报
回复
这样吗?

$arr1 = array(
    array('is_notice'=>3),
    array('is_notice'=>2),
    array('is_notice'=>1)
);

$arr2 = array(
    0 => '系统通知',
    1 => '材料通过',
    2 => '审核失败',
    3 => '额度更新'
);

$arr3 = array();

foreach($arr1 as $k=>$v){
    $arr3[]['is_notice'] = $arr2[$v['is_notice']];
}

print_r($arr3);

Array ( [0] => Array ( [is_notice] => 额度更新 ) [1] => Array ( [is_notice] => 审核失败 ) [2] => Array ( [is_notice] => 材料通过 ) )
Amy安 2016-01-05
  • 打赏
  • 举报
回复
引用 3 楼 xuzuning 的回复:
Array ( [0] => Array ( [is_notice] => 5 ) [1] => Array ( [is_notice] => 16 ) ) 你这可是二维数组呀
啊哦... 原来只读取一个字段也会是一个数组 从数据库里读出来的都是is_notice这个字段 这里我怎么转成 $arr1=array( "is_notice" => "1", "is_notice" => "5", "is_notice" => "16" ); 求教
xuzuning 2016-01-05
  • 打赏
  • 举报
回复
Array ( [0] => Array ( [is_notice] => 5 ) [1] => Array ( [is_notice] => 16 ) ) 你这可是二维数组呀
Amy安 2016-01-05
  • 打赏
  • 举报
回复
引用 1 楼 xuzuning 的回复:
$arr1=array(
"q" => "1",
"w" => "2",
"e" => "3"
);
$arr2=array(
0 => "你",
1 => "我",
2 => "他"
);
$arr3 = array_combine(array_keys($arr1), $arr2);
print_r($arr3);
echo join(',', $arr3);
Array
(
    [q] => 你
    [w] => 我
    [e] => 他
)
你,我,他
谢大神 不过我刚尝试了一下 还是有问题 我给下实例吧 Array ( [0] => Array ( [is_notice] => 5 ) [1] => Array ( [is_notice] => 16 ) ) 这是$arr1 的数组 是一个表示类型的参数 比如发起申请 取消申请 申请被驳回等动作 数据库里读出来的就是 5,16这样的数字,范围是1-20 依据条件 读出的条数不定可能超过20条 也就可能会有重复的 5,5,5,6,6,10,10 这样的 然后有$arr2 就是[0]到[19]对应 20个类型的中文说明 都是简短的四个字 向用户呈现的消息需要是 xxx有以下动作 :发起申请,申请被驳回,加入,归档,....。 这样子的 然后按您的来试了下 echo join(',', $arr3);的值msgtype和一个表达状态的变量status=1 组成一个json返回 以下的返回的 {"msgtype":null,"status":1} print_r($arr3);为空 var_dump 为bool(false) $typearr = array( [0] => "系统通知", [1] => "材料通过", [2] => "审核失败", [3] => "额度更新" ..... ); 这是arr2的数组 麻烦帮我检查下 是不是arr1 arr2两个数组的问题
xuzuning 2016-01-05
  • 打赏
  • 举报
回复
$arr1=array(
"q" => "1",
"w" => "2",
"e" => "3"
);
$arr2=array(
0 => "你",
1 => "我",
2 => "他"
);
$arr3 = array_combine(array_keys($arr1), $arr2);
print_r($arr3);
echo join(',', $arr3);
Array
(
    [q] => 你
    [w] => 我
    [e] => 他
)
你,我,他

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧