最近遇到这样的一个问题:我在本地的操作项目环境是wamp的,然后上传到服务空间是linux+nginx的。在本地运行和在wamp环境运行时,以下这个功能是完全没问题的,如图:
但是在linux+nginx却出现了这样的情况:
实现功能的代码都是一样的,这部分代码的截图如下:
$properties_gj = get_goods_properties_gj($goods_id); // 获得高级定制商品的规格和属性
//var_dump($properties_gj);
$spe = array();
foreach ($properties_gj['spe'] as $v){
if($v['name'] == '加字'){
$spe[0] = $v;
}
if($v['name'] == '外观材质'){
$spe[1] = $v;
}
if($v['name'] == '内里材质'){
$spe[2] = $v;
}
}
//echo
;
//var_dump($spe);exit;
附加:打印$properties_gj的结果
array(3) {
[pro]=>
array(0) {
}
[spe]=>
array(3) {
[2]=>
array(3) {
[attr_type]=>
string(1) 1
[name]=>
string(6) 加字
[values]=>
array(1) {
[0]=>
array(6) {
[label]=>
string(12) 雕刻文字
[price]=>
string(3) 200
[imgs]=>
string(50) ./images/attr/c249e9ab5fb4df62753e3ce483ca2296.png
[times]=>
string(1) 5
[format_price]=>
string(9) ¥200.00
[id]=>
string(3) 265
}
}
}
[3]=>
array(3) {
[attr_type]=>
string(1) 1
[name]=>
string(12) 外观材质
[values]=>
array(1) {
[0]=>
array(6) {
[label]=>
string(21) 可定制任何木纹
[price]=>
string(3) 500
[imgs]=>
string(50) ./images/attr/8d0a35a4d338ae4acdfbe650d84026bc.png
[times]=>
string(2) 15
[format_price]=>
string(9) ¥500.00
[id]=>
string(3) 266
}
}
}
[4]=>
array(3) {
[attr_type]=>
string(1) 1
[name]=>
string(12) 内里材质
[values]=>
array(1) {
[0]=>
array(6) {
[label]=>
string(18) 此款不可更换
[price]=>
string(0)
[imgs]=>
string(0)
[times]=>
string(1) 0
[format_price]=>
string(7) ¥0.00
[id]=>
string(3) 267
}
}
}
}
[lnk]=>
array(0) {
}
}
在wamp环境下打印$spe是有值的,但是在linux+nginx下,打印出来是空的,怎么也进入不了if判断,如果把if判断去掉 $spe[0] = $v;$spe[1] = $v;$spe[2] = $v;(或者把if条件里面的“==”改成“=”),只获取到 的情况。对linux+nginx,会不会配置有关,如果不该配置,有没有解决的方法,谢谢指点一下!
回复讨论(解决方案) 你把$properties_gj 和$goods_id 打印一下看看