PHP 如何二维数组不能只有给值。看下面代码
Array([0]=>Array([id]=>70[name]=>长裙[info]=>长裙[sort]=>0[sid]=>17[brand]=>a:2:{i:0;s:1:...
Array
(
[0] => Array
(
[id] => 70
[name] => 长裙
[info] => 长裙
[sort] => 0
[sid] => 17
[brand] => a:2:{i:0;s:1:"1";i:1;s:1:"2";}
[price] =>
)
[1] => Array
(
[id] => 30
[name] => 牛仔裤
[info] => 牛仔裤
[sort] => 1
[sid] => 17
[brand] => a:2:{i:0;s:1:"2";i:1;s:1:"3";}
[price] => a:2:{i:0;s:5:"1 - 3";i:1;s:6:"2 - 50";}
)
[2] => Array
(
[id] => 49
[name] => 衬衫
[info] => 衬衫
[sort] => 1
[sid] => 17
[brand] => a:2:{i:0;s:1:"1";i:1;s:1:"2";}
[price] => a:3:{i:0;s:5:"1 - 3";i:1;s:6:"1 - 10";i:2;s:5:"2 - 4";}
)
[3] => Array
(
[id] => 29
[name] => 连衣裙
[info] => 连衣裙
[sort] => 2
[sid] => 17
[brand] =>
[price] => a:3:{i:0;s:5:"2 - 4";i:1;s:6:"2 - 50";i:2;s:8:"10 - 100";}
)
)
//这是逻辑语句
foreach ($list as $key => $value) {
if (isNullString($value['brand'])) {
$value['brand'] = '其他品牌'; //这里为什么不能给空的brand 变成其他品牌 应该怎么写才可以让$value['brand'] 变成其他品牌
}else{
}
} 展开
(
[0] => Array
(
[id] => 70
[name] => 长裙
[info] => 长裙
[sort] => 0
[sid] => 17
[brand] => a:2:{i:0;s:1:"1";i:1;s:1:"2";}
[price] =>
)
[1] => Array
(
[id] => 30
[name] => 牛仔裤
[info] => 牛仔裤
[sort] => 1
[sid] => 17
[brand] => a:2:{i:0;s:1:"2";i:1;s:1:"3";}
[price] => a:2:{i:0;s:5:"1 - 3";i:1;s:6:"2 - 50";}
)
[2] => Array
(
[id] => 49
[name] => 衬衫
[info] => 衬衫
[sort] => 1
[sid] => 17
[brand] => a:2:{i:0;s:1:"1";i:1;s:1:"2";}
[price] => a:3:{i:0;s:5:"1 - 3";i:1;s:6:"1 - 10";i:2;s:5:"2 - 4";}
)
[3] => Array
(
[id] => 29
[name] => 连衣裙
[info] => 连衣裙
[sort] => 2
[sid] => 17
[brand] =>
[price] => a:3:{i:0;s:5:"2 - 4";i:1;s:6:"2 - 50";i:2;s:8:"10 - 100";}
)
)
//这是逻辑语句
foreach ($list as $key => $value) {
if (isNullString($value['brand'])) {
$value['brand'] = '其他品牌'; //这里为什么不能给空的brand 变成其他品牌 应该怎么写才可以让$value['brand'] 变成其他品牌
}else{
}
} 展开
2个回答
展开全部
同学,你使用了foreach啊,当然不能直接改变array数组了,而且数组的修改应该是这样的吧:$arr['3']['brand']='名字';帮你修改下了:
foreach ($list as $key => $value) {
if (isNullString($value['brand'])) {
$list[$key]['brand'] = '其他品牌'; //要用键值啊....
}else{
}
}
foreach ($list as $key => $value) {
if (isNullString($value['brand'])) {
$list[$key]['brand'] = '其他品牌'; //要用键值啊....
}else{
}
}
追问
... if (isNullString($value['brand'])) {
$value['brand'] = '其他品牌'; //要用键值啊....
pirnt_r($value); //这里输出能看到改变的值,就是能看到效果,不过$list里面没有
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
isNullString 是什么函数?干嘛不直接用empty()?
追问
isNullString 就是 empty() 的意思。 就是判断这个数组里面 $value['brand'] 为空的 就等于其他品牌。 现在问题就是 $value['brand'] 我这样赋值无效。 如果我转换成对象数组 $value->brand = 其他品牌就用有。我应该如何不用对象数组直接解决
追答
$list=Array
(
0 => Array
(
'id' => 70,
'name' => '长裙',
'info' => '长裙',
'sort' => 0,
'sid' => 17,
'brand' => 'a:2:{i:0;s:1:"1";i:1;s:1:"2";}',
'price' =>''
)
,3 => Array
(
'id' => 29,
'name' => '连衣裙',
'info' => '连衣裙',
'sort' => 2,
'sid' => 17,
'brand' =>'',
'price' => 'a:3:{i:0;s:5:"2 - 4";i:1;s:6:"2 - 50";i:2;s:8:"10 - 100";}'
)
);
//这是逻辑语句
foreach ($list as $key => $value) {
if (empty($value['brand'])) {
$list[$key]['brand'] = '其他品牌'; //这里为什么不能给空的brand 变成其他品牌 应该怎么写才可以让$value['brand'] 变成其他品牌
}else{
}
}
完全可以
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询