php数组键值对是什么意思_php数组中键值对怎么理解呢?

"

兄弟,确实编码问题、当我为ANSI编码,GBK,GB2312等都是完全正确、

唯独UTF-8的时候日期能显示、天气不能显示、天气恰好是中文、建议你和sina的编码保持一致即可、

ps:你能判断到编码问题上,为何不写个编码下测试一下,问题不就出来了嘛、 ######我老想着是返回的编码有问题 ,不知道怎么改。@narky说对了,url后面加&charset=utf-8就不用改本地文档了。######我新建了个文档,ANSI还真是。######

我拜托你。。。基本的数据类型w定义的就错了好不好。。。

var w = {} ;

其他的都没什么问题,要是不行你找我~

w['深圳']这样取值,不是对数组,你如果略懂json,应该就能理解的啊。。。 ######回复

@JokerTheGreat : json是可以由数组开始的,w的定义并没有错######回复

@JFree : 但是同样这段代码,我保存在本地时没有任何问题。做跨域请求回来取到的window.SWther.w长度为零.我怀疑是编码的问题。 http://php.weather.sina.com.cn/iframe/index/w_cl.php?code=js&day=2&city=深圳&dfc=3 这个是请求地址你帮忙做下实验。谢谢了。我都郁闷一整天了。######回复

@JokerTheGreat : 你做循环取值,观察下返回的w值的内部结构,然后在取你想要的值。如果是数组,那肯定不能直接就w['xx']取值了。var w = {xx:'bb'} ;才可以w['xx']######大哥,上面的代码是新浪返回的啊,我修改不了。 w是数组啊,w['键名'] 这样不对吗?######

楼主我测试了一下,完全ok、仔细检查你的代码,格式是否正确、我的测试结果

(function(){

var w =[];

w['深圳']=[

{

s1:'多云',

s2:'多云',

f1:'duoyun',

f2:'duoyun',

t1:'32',

t2:'25',

p1:'≤3',

p2:'≤3',

d1:'无持续风向',

d2:'无持续风向'

},

{

s1:'多云',

s2:'多云',

f1:'duoyun',

f2:'duoyun',

t1:'32',

t2:'25',

p1:'≤3',

p2:'≤3',

d1:'无持续风向',

d2:'无持续风向'

},

{

s1:'阵雨',

s2:'阵雨',

f1:'zhenyu',

f2:'zhenyu',

t1:'32',

t2:'25',

p1:'≤3',

p2:'≤3',

d1:'无持续风向',

d2:'无持续风向'

}

];

var city = '深圳';

//alert(w[city][2].s1);

window.SWther = {

w : w

};

alert(window.SWther.w[city][2].s1);

})()

######代码都是直接粘贴的。我看不出哪不对。######

引用来自“Beyond-Bit”的答案

楼主我测试了一下,完全ok、仔细检查你的代码,格式是否正确、我的测试结果

下面是我打的代码:

$(document).ready(function (){

var city = '深圳';

$.getScript("http://php.weather.sina.com.cn/iframe/index/w_cl.php?code=js&day=2&city="+city+"&dfc=3",function(){

alert(window.SWther.add.now);//正常输出

alert(window.SWther.w[city][0].s1);//提示未定义

})

});

下面是直接粘贴新浪返回的天气代码(可以正常输出):

(function(){var w=[];w['深圳']=[{s1:'多云',s2:'多云',f1:'duoyun',f2:'duoyun',t1:'32',t2:'25',p1:'≤3',p2:'≤3',d1:'无持续风向',d2:'无持续风向'},{s1:'多云',s2:'多云',f1:'duoyun',f2:'duoyun',t1:'32',t2:'25',p1:'≤3',p2:'≤3',d1:'无持续风向',d2:'无持续风向'},{s1:'阵雨',s2:'阵雨',f1:'zhenyu',f2:'zhenyu',t1:'32',t2:'25',p1:'≤3',p2:'≤3',d1:'无持续风向',d2:'无持续风向'}];var add={now:'2013-09-17 16:42:15',time:'1379407335',update:'北京时间09月17日08:00更新',error:'0',total:'1'};window.SWther={w:w,add:add};})();//0

$(document).ready(function (){

var city = '深圳';

alert(window.SWther.add.now);

alert(window.SWther.w[city][0].s1);

});

######

我在本地测试也是没有问题的。

注意把返回的多余的回车全部去掉

######你在跨域请求时没有问题吗?你帮忙试一下,拜托了。 请求地址: http://php.weather.sina.com.cn/iframe/index/w_cl.php?code=js&day=2&city=深圳&dfc=3######

哥们。我刚刚又跨域测试了一次。还是木问题、

结果如下:第一次alert

第二次alert:

代码如下:

$(document).ready(function (){

var city = '深圳';

$.getScript("http://php.weather.sina.com.cn/iframe/index/w_cl.php?code=js&day=2&city="+city+"&dfc=3",function(){

alert(window.SWther.add.now);

alert("Hello sina weather------------"+window.SWther.w[city][0].s1);

})

});

完全正确啊、 ######..........这是不是代表我人品不行?用的编码是utf-8吗??深受打击啊。。######谁能告诉我是不是编码的问题?

######回复

@JokerTheGreat : 小事一桩,不用客气######回复

@Narky : 兄弟 ,还是你厉害啊。我差点就扔了这破天气了。非常感谢你。######确实是编码问题,默认是GBK。你可以在url后面加上&charset=utf-8,就可以支持utf-8,测试过OK######偶也测试了下,的确utf-8不行,为什么加了&charset=utf-8就ok呢?######加&charset=utf-8新浪就返回utf-8编码的数据啦。新浪默认应该是gbk。######我补一点哈, 其实可以试着把你脚本里的中文转成 Unicode ,

######有什么区别吗?var city = '\u6DF1\u5733';还是不行"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值