我是json的新手。我在文件中存在json数据。这看起来像:
{
"qwqw":{
"id":3,
"item1":{
"id":15,
"price":31.85
},
"item2":{
"id":17,
"price":26
},
"item3":{
"id":16,
"price":57.85
}
}
}
我可以使用json_decode获取此值。我将使用此代码添加另一个条目。
$data = json_decode( file_get_contents('test.ini'), true );
$data[] = array(
'id'=>4,
'item1'=>array(
'id'=>15,
'price'=>11
),
'item2'=>array(
'id'=>17,
'price'=>12
),
'item3'=>array(
'id'=>16,
'price'=>13.50
)
);
file_put_contents('test.ini', json_encode($data) );
这适用于此。当我再次解码它。这看起来如何。
{
"qwqw":{
"id":3,
"item1":{
"id":15,
"price":31.85
},
"item2":{
"id":17,
"price":26
},
"item3":{
"id":16,
"price":57.85
}
},
"0":{
"id":3,
"item1":{
"id":15,
"price":11
},
"item2":{
"id":17,
"price":12
},
"item3":{
"id":16,
"price":13.5
}
}
}
我的问题是,我可以更改值“0”吗?到一个字符串。
任何可以提供帮助的人?
答案 0 :(得分:2)
0这里是一个字符串,你可以告诉它,因为它周围有引号。
但是如果你想要一个不同的字符串,请不要使用:
$data[] = array(
/* ... */
)
但:
$data['myKey'] = array(
/* ... */
)
答案 1 :(得分:1)
是的,你可以
$data['string'] = array(
'id'=>4,
'item1'=>array(
'id'=>15,
'price'=>11
),
'item2'=>array(
'id'=>17,
'price'=>12
),
'item3'=>array(
'id'=>16,
'price'=>13.50
)
);
答案 2 :(得分:1)
使用
$data["the_string_key"] = array(
//...
);