php+mysql结果处理 字符串转化为数组

ecshop的ecs_attribute表中有个attr_value的字段,是字符串类型的,我已实现了数据的查询,我想把查询结果处理一下,把attr_value有字符串转化为数组,将来在客户端浏览器显示为下拉列表,该如何实现呢?求大侠

attr_values在mysql中的储存【'HDCD\r\nDTS\r\nDVD\r\nDVD9\r\nVCD\r\nCD\r\nTAPE\r\nLP', '0', '0', '0', '0');】我用explode函数处理了,但是没有得到我想要的结果:

我的程序代码:
public function getList($id){
$Attribute = M('Attribute');
$list = $Attribute->field('attr_id,attr_name,attr_values')->where("cat_id={$id}")->select();

foreach($list as $row){
foreach($row as $key=>$value){
if($key=='attr_values'&& !empty($value)){
$tree['attr_values']=explode("\r\n",$value);
}
}
$tree[]=$row;
}
return $list;
}

执行结果:
["attr_values"]=>
array(2) {
[0]=>
string(6) "平装"
[1]=>
string(6) "黑白"
}
[6]=>
array(3) {
["attr_id"]=>
string(1) "7"
["attr_name"]=>
string(12) "图书装订"
["attr_values"]=>
string(14) "平装
黑白"
}

期望的结果:
[6]=>
array(3) {
["attr_id"]=>
string(1) "7"
["attr_name"]=>
string(12) "图书装订"
["attr_values"]=>
array(2) {
[0]=>
string(6) "平装"
[1]=>
string(6) "黑白"
}
}
最新回答
别了初心

2024-11-07 01:47:36

你的explode("\r\n",$value);这个地方弄错了,

$r=explode("\\r\\n",'HDCD\r\nDTS\r\nDVD\r\nDVD9\r\nVCD\r\nCD\r\nTAPE\r\nLP');
print_r($r);
结果:
Array
(
[0] => HDCD
[1] => DTS
[2] => DVD
[3] => DVD9
[4] => VCD
[5] => CD
[6] => TAPE
[7] => LP
)
追问
能加q@q或者是百度嗨吗 还有点问题 可能我没描述清楚  我的q@q就是百度号 如果介意加企鹅就用百度嗨好吗  真的很急 谢谢了 大侠