如何转换数组中出现过的字段

zkfr250139980 2012-11-08 11:16:02
我预先定义一些需要转换的内容,比如:
'Jan' => 1,
'Feb' => 2,
'Mar' => 3,
'Apr' => 4,
'May' => 5,
'June'=> 6,
'July'=> 7,
'Aug' => 8,
'Sept'=> 9,
'Oct' => 10,
'Nov' => 11,
'Dec' => 12

我现在有一条数组$array = ('Jan','May','June','Aug');
如何让我现在出现的这四个按照预定的结果转换并且打印出来。
...全文
126 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuzuning 2012-11-08
  • 打赏
  • 举报
回复
另类的写法
$transfer = array(
        'Jan' => 1,
        'Feb' => 2,
        'Mar' => 3,
        'Apr' => 4,
        'May' => 5,
        'June'=> 6,
        'July'=> 7,
        'Aug' => 8,
        'Sept'=> 9,
        'Oct' => 10,
        'Nov' => 11,
        'Dec' => 12,
    );
      
$needs = array('Jan','May','June','Aug');
extract($transfer);
echo join(',', compact($needs));
1,5,6,8
一起混吧 2012-11-08
  • 打赏
  • 举报
回复
恩,这个也可以。
 $transfer = array(
        'Jan' => 1,
        'Feb' => 2,
        'Mar' => 3,
        'Apr' => 4,
        'May' => 5,
        'June'=> 6,
        'July'=> 7,
        'Aug' => 8,
        'Sept'=> 9,
        'Oct' => 10,
        'Nov' => 11,
        'Dec' => 12,
    );
     
    $needs = array('Jan','May','June','Aug');
	echo strtr(join(',',$needs),$transfer);
1,5,6,8
ohmygirl 2012-11-08
  • 打赏
  • 举报
回复
。。。。 最简单的

<?php
	$transfer = array(
		'Jan' => 1,
		'Feb' => 2,
		'Mar' => 3,
		'Apr' => 4,
		'May' => 5,
		'June'=> 6,
		'July'=> 7,
		'Aug' => 8,
		'Sept'=> 9,
		'Oct' => 10,
		'Nov' => 11,
		'Dec' => 12,
	);
	
	$needs = array('Jan','May','June','Aug');
	
	foreach($needs as $key){
		if(isset($transfer[$key])){
			echo $tranfer[$key].PHP_EOL;
		}
	}
zkfr250139980 2012-11-08
  • 打赏
  • 举报
回复
引用 3 楼 ohmygirl 的回复:
囧。是不是扫描原数组,key转换为value即可?
嗯,类似的,但是要我数组里面出现的才需要转换。求实例。
ohmygirl 2012-11-08
  • 打赏
  • 举报
回复
囧。是不是扫描原数组,key转换为value即可?
mu_rain 2012-11-08
  • 打赏
  • 举报
回复
建议直接写!
cdx1988 2012-11-08
  • 打赏
  • 举报
回复
没看明白,你要实现什么

21,886

社区成员

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

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