Home  >  Article  >  Backend Development  >  数组问题,在线求解。郁闷一天啦,分不够日后追加~!万分感谢

数组问题,在线求解。郁闷一天啦,分不够日后追加~!万分感谢

WBOY
WBOYOriginal
2016-06-23 13:50:49672browse

数组一

Array ( [0] => 	Array ( [59] => 上海 [17] => 是 [18] => 一辆 [69] => 福特 [21] => 18-25万 [22] => MPV [23] => 质量 可靠 [24] => 放开刹车 缓步滑行 [26] => 随意 无所谓 [28] => 没有最好 [30] => 无所谓 [31] => 越轻越好 [33] => 有空 就钻 [34] => 尽力 加塞 [35] => 无道路 [36] => 均衡随意 [40] => 经常发生 [43] => 长亮远光灯/雾灯 [44] => 安全气囊上放物品 [45] => 保持车速 [46] => 增加 护板 [47] => 愿意 [48] => 车灯 [49] => 知道 [50] => 低噪音 [51] => 节油轮胎 [52] => 男 [53] => 5-7万 [54] => 1960年之前 )     [1] => Array ( [59] => 其他 )     [2] => Array ( [59] => 上海 [17] => 是 [18] => 一辆 [69] => 别克 [21] => 12-18万 [22] => 两厢轿车 [23] => 价格 实惠 [24] => 随意 无所谓 [26] => 偶尔 [28] => 没有最好 [30] => 稳重不会有误操作 [31] => 越轻越好 [33] => 不得已才改道 [34] => 随意 谦让 [35] => 沙石路 [36] => 轻松舒适 [40] => 从未发生 [43] => 争抢同一车道,肆意抛洒垃圾,变道拐弯不打灯 [44] => 不系安全带,穿拖鞋开车,开车抽烟喝饮料,不使用儿童座椅 [45] => 保持车速,定期保养,选节油轮胎 [46] => 更换 专属轮胎,刹车 套装 [47] => 愿意 [48] => 更换 避震,更换 专属轮胎 [49] => 知道 [50] => 刹车 不打滑,转弯 无振动,操控 灵敏,操控转弯 精准,更耐磨,刹车 距离短,防扎 防刺,高速 稳定性 [51] => 操控轮胎 [52] => 男 [53] => 3-5万元 [54] => 1980-1985 ))

数组二

上面的数组与下面的进行比对,数组一的KEY和值分别等于数组二的wjc_bid和wjc_title,数组一的内容(文字部分)替换成数组二的wjc_dhao(数字)。
想尽一切办法没能实现,在线求高手助。十万分感谢~!
不知道是不是无解?


回复讨论(解决方案)

分别贴出两数组的 var_export 的结果

分别贴出两数组的 var_export 的结果


数据有点多,截一部分吧。
数组一:
array ( 0 => array ( 59 => '上海', 17 => '是', 18 => '一辆', 69 => '福特', 21 => '18-25万', 22 => 'MPV', 23 => '质量 可靠', 24 => '放开刹车 缓步滑行', 26 => '随意 无所谓', 28 => '没有最好', 30 => '无所谓', 31 => '越轻越好', 33 => '有空 就钻', 34 => '尽力 加塞', 35 => '无道路', 36 => '均衡随意', 40 => '经常发生', 43 => '长亮远光灯/雾灯', 44 => '安全气囊上放物品', 45 => '保持车速', 46 => '增加 护板', 47 => '愿意', 48 => '车灯', 49 => '知道', 50 => '低噪音', 51 => '节油轮胎', 52 => '男', 53 => '5-7万', 54 => '1960年之前', ), 1 => array ( 59 => '其他', ), 2 => array ( 59 => '上海', 17 => '是', 18 => '一辆', 69 => '别克', 21 => '12-18万', 22 => '两厢轿车', 23 => '价格 实惠', 24 => '随意 无所谓', 26 => '偶尔', 28 => '没有最好', 30 => '稳重不会有误操作', 31 => '越轻越好', 33 => '不得已才改道', 34 => '随意 谦让', 35 => '沙石路', 36 => '轻松舒适', 40 => '从未发生', 43 => '争抢同一车道,肆意抛洒垃圾,变道拐弯不打灯', 44 => '不系安全带,穿拖鞋开车,开车抽烟喝饮料,不使用儿童座椅', 45 => '保持车速,定期保养,选节油轮胎', 46 => '更换 专属轮胎,刹车 套装', 47 => '愿意', 48 => '更换 避震,更换 专属轮胎', 49 => '知道', 50 => '刹车 不打滑,转弯 无振动,操控 灵敏,操控转弯 精准,更耐磨,刹车 距离短,防扎 防刺,高速 稳定性', 51 => '操控轮胎', 52 => '男', 53 => '3-5万元', 54 => '1980-1985', ), 3 => array ( 59 => '其他', ),..................
数组二
array ( 0 => array ( 'wjc_id' => '302', 'wjc_bid' => '59', 'wjc_dhao' => '1', 'wjc_title' => '上海', 'wjc_tiaojian' => '0', 'wjc_jieg' => '0', 'wjc_img' => NULL, ), 1 => array ( 'wjc_id' => '56', 'wjc_bid' => '17', 'wjc_dhao' => '1', 'wjc_title' => '是', 'wjc_tiaojian' => '0', 'wjc_jieg' => '0', 'wjc_img' => NULL, ), 2 => array ( 'wjc_id' => '58', 'wjc_bid' => '18', 'wjc_dhao' => '1', 'wjc_title' => '一辆', 'wjc_tiaojian' => '0', 'wjc_jieg' => '0', 'wjc_img' => NULL, ), 3 => array ( 'wjc_id' => '318', 'wjc_bid' => '69', 'wjc_dhao' => '4', 'wjc_title' => '福特', 'wjc_tiaojian' => '0', 'wjc_jieg' => '0', 'wjc_img' => NULL, ), 4 => array ( 'wjc_id' => '85', 'wjc_bid' => '21', 'wjc_dhao' => '4', 'wjc_title' => '18-25万', 'wjc_tiaojian' => '0', 'wjc_jieg' => '0', 'wjc_img' => NULL, ), 5 => array ( 'wjc_id' => '92', 'wjc_bid' => '22', 'wjc_dhao' => '4', 'wjc_title' => 'MPV', 'wjc_tiaojian' => '0', 'wjc_jieg' => '0', 'wjc_img' => NULL, ), 6 => array ( 'wjc_id' => '97', 'wjc_bid' => '23', 'wjc_dhao' => '4', 'wjc_title' => '质量 可靠', 'wjc_tiaojian' => '0', 'wjc_jieg' => '0', 'wjc_img' => NULL, ), 7 => array ( 'wjc_id' => '110', 'wjc_bid' => '24', 'wjc_dhao' => '1', 'wjc_title' => '放开刹车 缓步滑行', 'wjc_tiaojian' => '0', 'wjc_jieg' => '0', 'wjc_img' => NULL, ), 8 => array ( 'wjc_id' => '121', 'wjc_bid' => '26', 'wjc_dhao' => '4', 'wjc_title' => '随意 无所谓', 'wjc_tiaojian' => '0', 'wjc_jieg' => '0', 'wjc_img' => NULL, ), 9 => array ( 'wjc_id' => '126', 'wjc_bid' => '28', 'wjc_dhao' => '1', 'wjc_title' => '没有最好', 'wjc_tiaojian' => '0', 'wjc_jieg' => '0', 'wjc_img' => NULL, ), 10 => array ( 'wjc_id' => '137', 'wjc_bid' => '30', 'wjc_dhao' => '4', 'wjc_title' => '无所谓', 'wjc_tiaojian' => '0', 'wjc_jieg' => '0', 'wjc_img' => NULL, ), ...................

这个意思?

$a = array ( 0 => array ( 59 => '上海', 17 => '是', 18 => '一辆', 69 => '福特', 21 => '18-25万', 22 => 'MPV', 23 => '质量 可靠', 24 => '放开刹车 缓步滑行', 26 => '随意 无所谓', 28 => '没有最好', 30 => '无所谓', 31 => '越轻越好', 33 => '有空 就钻', 34 => '尽力 加塞', 35 => '无道路', 36 => '均衡随意', 40 => '经常发生', 43 => '长亮远光灯/雾灯', 44 => '安全气囊上放物品', 45 => '保持车速', 46 => '增加 护板', 47 => '愿意', 48 => '车灯', 49 => '知道', 50 => '低噪音', 51 => '节油轮胎', 52 => '男', 53 => '5-7万', 54 => '1960年之前', ), 1 => array ( 59 => '其他', ), 2 => array ( 59 => '上海', 17 => '是', 18 => '一辆', 69 => '别克', 21 => '12-18万', 22 => '两厢轿车', 23 => '价格 实惠', 24 => '随意 无所谓', 26 => '偶尔', 28 => '没有最好', 30 => '稳重不会有误操作', 31 => '越轻越好', 33 => '不得已才改道', 34 => '随意 谦让', 35 => '沙石路', 36 => '轻松舒适', 40 => '从未发生', 43 => '争抢同一车道,肆意抛洒垃圾,变道拐弯不打灯', 44 => '不系安全带,穿拖鞋开车,开车抽烟喝饮料,不使用儿童座椅', 45 => '保持车速,定期保养,选节油轮胎', 46 => '更换 专属轮胎,刹车 套装', 47 => '愿意', 48 => '更换 避震,更换 专属轮胎', 49 => '知道', 50 => '刹车 不打滑,转弯 无振动,操控 灵敏,操控转弯 精准,更耐磨,刹车 距离短,防扎 防刺,高速 稳定性', 51 => '操控轮胎', 52 => '男', 53 => '3-5万元', 54 => '1980-1985', ), 3 => array ( 59 => '其他', ),);$b = array ( 0 => array ( 'wjc_id' => '302', 'wjc_bid' => '59', 'wjc_dhao' => '1', 'wjc_title' => '上海', 'wjc_tiaojian' => '0', 'wjc_jieg' => '0', 'wjc_img' => NULL, ), 1 => array ( 'wjc_id' => '56', 'wjc_bid' => '17', 'wjc_dhao' => '1', 'wjc_title' => '是', 'wjc_tiaojian' => '0', 'wjc_jieg' => '0', 'wjc_img' => NULL, ), 2 => array ( 'wjc_id' => '58', 'wjc_bid' => '18', 'wjc_dhao' => '1', 'wjc_title' => '一辆', 'wjc_tiaojian' => '0', 'wjc_jieg' => '0', 'wjc_img' => NULL, ), 3 => array ( 'wjc_id' => '318', 'wjc_bid' => '69', 'wjc_dhao' => '4', 'wjc_title' => '福特', 'wjc_tiaojian' => '0', 'wjc_jieg' => '0', 'wjc_img' => NULL, ), 4 => array ( 'wjc_id' => '85', 'wjc_bid' => '21', 'wjc_dhao' => '4', 'wjc_title' => '18-25万', 'wjc_tiaojian' => '0', 'wjc_jieg' => '0', 'wjc_img' => NULL, ), 5 => array ( 'wjc_id' => '92', 'wjc_bid' => '22', 'wjc_dhao' => '4', 'wjc_title' => 'MPV', 'wjc_tiaojian' => '0', 'wjc_jieg' => '0', 'wjc_img' => NULL, ), 6 => array ( 'wjc_id' => '97', 'wjc_bid' => '23', 'wjc_dhao' => '4', 'wjc_title' => '质量 可靠', 'wjc_tiaojian' => '0', 'wjc_jieg' => '0', 'wjc_img' => NULL, ), 7 => array ( 'wjc_id' => '110', 'wjc_bid' => '24', 'wjc_dhao' => '1', 'wjc_title' => '放开刹车 缓步滑行', 'wjc_tiaojian' => '0', 'wjc_jieg' => '0', 'wjc_img' => NULL, ), 8 => array ( 'wjc_id' => '121', 'wjc_bid' => '26', 'wjc_dhao' => '4', 'wjc_title' => '随意 无所谓', 'wjc_tiaojian' => '0', 'wjc_jieg' => '0', 'wjc_img' => NULL, ), 9 => array ( 'wjc_id' => '126', 'wjc_bid' => '28', 'wjc_dhao' => '1', 'wjc_title' => '没有最好', 'wjc_tiaojian' => '0', 'wjc_jieg' => '0', 'wjc_img' => NULL, ), 10 => array ( 'wjc_id' => '137', 'wjc_bid' => '30', 'wjc_dhao' => '4', 'wjc_title' => '无所谓', 'wjc_tiaojian' => '0', 'wjc_jieg' => '0', 'wjc_img' => NULL, ),);foreach($a as $key=>$item) {  foreach($item as $k=>$v) {    foreach($b as $tmp)      if($k == $tmp['wjc_bid'] && $v == $tmp['wjc_title'])        $a[$key][$k] = $tmp['wjc_dhao'];  }}print_r($a);
Array(    [0] => Array        (            [59] => 1            [17] => 1            [18] => 1            [69] => 4            [21] => 4            [22] => 4            [23] => 4            [24] => 1            [26] => 4            [28] => 1            [30] => 4            [31] => 越轻越好            [33] => 有空 就钻            [34] => 尽力 加塞            [35] => 无道路            [36] => 均衡随意            [40] => 经常发生            [43] => 长亮远光灯/雾灯            [44] => 安全气囊上放物品            [45] => 保持车速            [46] => 增加 护板            [47] => 愿意            [48] => 车灯            [49] => 知道            [50] => 低噪音            [51] => 节油轮胎            [52] => 男            [53] => 5-7万            [54] => 1960年之前        )    [1] => Array        (            [59] => 其他        )    [2] => Array        (            [59] => 1            [17] => 1            [18] => 1            [69] => 别克            [21] => 12-18万            [22] => 两厢轿车            [23] => 价格 实惠            [24] => 随意 无所谓            [26] => 偶尔            [28] => 1            [30] => 稳重不会有误操作            [31] => 越轻越好            [33] => 不得已才改道            [34] => 随意 谦让            [35] => 沙石路            [36] => 轻松舒适            [40] => 从未发生            [43] => 争抢同一车道,肆意抛洒垃圾,变道拐弯不打灯            [44] => 不系安全带,穿拖鞋开车,开车抽烟喝饮料,不使用儿童座椅            [45] => 保持车速,定期保养,选节油轮胎            [46] => 更换 专属轮胎,刹车 套装            [47] => 愿意            [48] => 更换 避震,更换 专属轮胎            [49] => 知道            [50] => 刹车 不打滑,转弯 无振动,操控 灵敏,操控转弯 精准,更耐磨,刹车 距离短,防扎 防刺,高速 稳定性            [51] => 操控轮胎            [52] => 男            [53] => 3-5万元            [54] => 1980-1985        )    [3] => Array        (            [59] => 其他        ))

太乱了, 不好搞!
能搞个像你1楼的数组二那样的结构截图?

这个意思?

$a = array ( 0 => array ( 59 => '上海', 17 => '是', 18 => '一辆', 69 => '福特', 21 => '18-25万', 22 => 'MPV', 23 => '质量 可靠', 24 => '放开刹车 缓步滑行', 26 => '随意 无所谓', 28 => '没有最好', 30 => '无所谓', 31 => '越轻越好', 33 => '有空 就钻', 34 => '尽力 加塞', 35 => '无道路', 36 => '均衡随意', 40 => '经常发生', 43 => '长亮远光灯/雾灯', 44 => '安全气囊上放物品', 45 => '保持车速', 46 => '增加 护板', 47 => '愿意', 48 => '车灯', 49 => '知道', 50 => '低噪音', 51 => '节油轮胎', 52 => '男', 53 => '5-7万', 54 => '1960年之前', ), 1 => array ( 59 => '其他', ), 2 => array ( 59 => '上海', 17 => '是', 18 => '一辆', 69 => '别克', 21 => '12-18万', 22 => '两厢轿车', 23 => '价格 实惠', 24 => '随意 无所谓', 26 => '偶尔', 28 => '没有最好', 30 => '稳重不会有误操作', 31 => '越轻越好', 33 => '不得已才改道', 34 => '随意 谦让', 35 => '沙石路', 36 => '轻松舒适', 40 => '从未发生', 43 => '争抢同一车道,肆意抛洒垃圾,变道拐弯不打灯', 44 => '不系安全带,穿拖鞋开车,开车抽烟喝饮料,不使用儿童座椅', 45 => '保持车速,定期保养,选节油轮胎', 46 => '更换 专属轮胎,刹车 套装', 47 => '愿意', 48 => '更换 避震,更换 专属轮胎', 49 => '知道', 50 => '刹车 不打滑,转弯 无振动,操控 灵敏,操控转弯 精准,更耐磨,刹车 距离短,防扎 防刺,高速 稳定性', 51 => '操控轮胎', 52 => '男', 53 => '3-5万元', 54 => '1980-1985', ), 3 => array ( 59 => '其他', ),);$b = array ( 0 => array ( 'wjc_id' => '302', 'wjc_bid' => '59', 'wjc_dhao' => '1', 'wjc_title' => '上海', 'wjc_tiaojian' => '0', 'wjc_jieg' => '0', 'wjc_img' => NULL, ), 1 => array ( 'wjc_id' => '56', 'wjc_bid' => '17', 'wjc_dhao' => '1', 'wjc_title' => '是', 'wjc_tiaojian' => '0', 'wjc_jieg' => '0', 'wjc_img' => NULL, ), 2 => array ( 'wjc_id' => '58', 'wjc_bid' => '18', 'wjc_dhao' => '1', 'wjc_title' => '一辆', 'wjc_tiaojian' => '0', 'wjc_jieg' => '0', 'wjc_img' => NULL, ), 3 => array ( 'wjc_id' => '318', 'wjc_bid' => '69', 'wjc_dhao' => '4', 'wjc_title' => '福特', 'wjc_tiaojian' => '0', 'wjc_jieg' => '0', 'wjc_img' => NULL, ), 4 => array ( 'wjc_id' => '85', 'wjc_bid' => '21', 'wjc_dhao' => '4', 'wjc_title' => '18-25万', 'wjc_tiaojian' => '0', 'wjc_jieg' => '0', 'wjc_img' => NULL, ), 5 => array ( 'wjc_id' => '92', 'wjc_bid' => '22', 'wjc_dhao' => '4', 'wjc_title' => 'MPV', 'wjc_tiaojian' => '0', 'wjc_jieg' => '0', 'wjc_img' => NULL, ), 6 => array ( 'wjc_id' => '97', 'wjc_bid' => '23', 'wjc_dhao' => '4', 'wjc_title' => '质量 可靠', 'wjc_tiaojian' => '0', 'wjc_jieg' => '0', 'wjc_img' => NULL, ), 7 => array ( 'wjc_id' => '110', 'wjc_bid' => '24', 'wjc_dhao' => '1', 'wjc_title' => '放开刹车 缓步滑行', 'wjc_tiaojian' => '0', 'wjc_jieg' => '0', 'wjc_img' => NULL, ), 8 => array ( 'wjc_id' => '121', 'wjc_bid' => '26', 'wjc_dhao' => '4', 'wjc_title' => '随意 无所谓', 'wjc_tiaojian' => '0', 'wjc_jieg' => '0', 'wjc_img' => NULL, ), 9 => array ( 'wjc_id' => '126', 'wjc_bid' => '28', 'wjc_dhao' => '1', 'wjc_title' => '没有最好', 'wjc_tiaojian' => '0', 'wjc_jieg' => '0', 'wjc_img' => NULL, ), 10 => array ( 'wjc_id' => '137', 'wjc_bid' => '30', 'wjc_dhao' => '4', 'wjc_title' => '无所谓', 'wjc_tiaojian' => '0', 'wjc_jieg' => '0', 'wjc_img' => NULL, ),);foreach($a as $key=>$item) {  foreach($item as $k=>$v) {    foreach($b as $tmp)      if($k == $tmp['wjc_bid'] && $v == $tmp['wjc_title'])        $a[$key][$k] = $tmp['wjc_dhao'];  }}print_r($a);
Array(    [0] => Array        (            [59] => 1            [17] => 1            [18] => 1            [69] => 4            [21] => 4            [22] => 4            [23] => 4            [24] => 1            [26] => 4            [28] => 1            [30] => 4            [31] => 越轻越好            [33] => 有空 就钻            [34] => 尽力 加塞            [35] => 无道路            [36] => 均衡随意            [40] => 经常发生            [43] => 长亮远光灯/雾灯            [44] => 安全气囊上放物品            [45] => 保持车速            [46] => 增加 护板            [47] => 愿意            [48] => 车灯            [49] => 知道            [50] => 低噪音            [51] => 节油轮胎            [52] => 男            [53] => 5-7万            [54] => 1960年之前        )    [1] => Array        (            [59] => 其他        )    [2] => Array        (            [59] => 1            [17] => 1            [18] => 1            [69] => 别克            [21] => 12-18万            [22] => 两厢轿车            [23] => 价格 实惠            [24] => 随意 无所谓            [26] => 偶尔            [28] => 1            [30] => 稳重不会有误操作            [31] => 越轻越好            [33] => 不得已才改道            [34] => 随意 谦让            [35] => 沙石路            [36] => 轻松舒适            [40] => 从未发生            [43] => 争抢同一车道,肆意抛洒垃圾,变道拐弯不打灯            [44] => 不系安全带,穿拖鞋开车,开车抽烟喝饮料,不使用儿童座椅            [45] => 保持车速,定期保养,选节油轮胎            [46] => 更换 专属轮胎,刹车 套装            [47] => 愿意            [48] => 更换 避震,更换 专属轮胎            [49] => 知道            [50] => 刹车 不打滑,转弯 无振动,操控 灵敏,操控转弯 精准,更耐磨,刹车 距离短,防扎 防刺,高速 稳定性            [51] => 操控轮胎            [52] => 男            [53] => 3-5万元            [54] => 1980-1985        )    [3] => Array        (            [59] => 其他        ))



版主幸苦
这多个参数怎么替换?
[50] => 刹车 不打滑,转弯 无振动,操控 灵敏,操控转弯 精准,更耐磨,刹车 距离短,防扎 防刺,高速 稳定性

不太明白你的意思

不太明白你的意思



一个KEY对应多个参数,参数中间是豆号分隔的。是不是要多遍历查询呢?

多个参数的替换规则呢?

这么多数据,实在看着很乱,能不能少点数据??

多个参数的替换规则呢?


一样的,数组一的KEY和值分别等于数组二的wjc_bid和wjc_title。

foreach($a as $key=>$item) {  foreach($item as $k=>$v) {    $t = explode(',', $v);    foreach($b as $tmp)      if($k == $tmp['wjc_bid'] && in_array($tmp['wjc_title'], $t))        $a[$key][$k] .= ':'.$tmp['wjc_dhao'];  }}print_r($a);

foreach($a as $key=>$item) {  foreach($item as $k=>$v) {    $t = explode(',', $v);    foreach($b as $tmp)      if($k == $tmp['wjc_bid'] && in_array($tmp['wjc_title'], $t))        $a[$key][$k] .= ':'.$tmp['wjc_dhao'];  }}print_r($a);




版主。。。完全停不下来,怎么变成循环这么多次,且中文没替换。
求解决

我有意这么写的,目的就是要你检查你的规则是否合适!

我有意这么写的,目的就是要你检查你的规则是否合适!


规则应该问题,数组二的数据是根据数组一在数据库里查出来的。

你说只是替换,但[43] 就存在 1、3、7 多个值,那么该替换成哪个呢?

你说只是替换,但[43] 就存在 1、3、7 多个值,那么该替换成哪个呢?


原来 “争抢同一车道,肆意抛洒垃圾,变道拐弯不打灯”替换成 “1,3,7”这种格式。

你说只是替换,但[43] 就存在 1、3、7 多个值,那么该替换成哪个呢?


比对数组要过滤重复是吧,改成这样?

foreach($a as $key=>$item) {  foreach($item as $k=>$v) {    $t = explode(',', $v);    foreach($b as $tmp)      if($k == $tmp['wjc_bid'] && in_array($tmp['wjc_title'], $t))        $a[$key][$k] = join(','.$tmp['wjc_dhao']);  }}print_r($a);

改成这样报错。。。求解

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn