如何將PHP多維數組轉換爲Python字典格式的字符串?將PHP數組轉換爲Python字典格式的字符串
var_dump($myarray);
array(2) { ["a1"]=> array(2) { ["29b"]=> string(0) "" ["29a"]=> string(0) "" } ["a2"]=> array(2) { ["29b"]=> string(0) "" ["29a"]=> string(0) "" } }
如何將PHP多維數組轉換爲Python字典格式的字符串?將PHP數組轉換爲Python字典格式的字符串
var_dump($myarray);
array(2) { ["a1"]=> array(2) { ["29b"]=> string(0) "" ["29a"]=> string(0) "" } ["a2"]=> array(2) { ["29b"]=> string(0) "" ["29a"]=> string(0) "" } }
如果你需要一個PHP關聯數組轉換爲通過文本Python字典,你可能需要使用JSON,因爲這兩種語言理解它(儘管你需要安裝的東西像simpleJSON爲Python)。
http://www.php.net/manual/en/function.json-encode.php http://simplejson.readthedocs.org/en/latest/index.html
例(顯然,這將需要一些工作自動)...
<?php
$arr = array('test' => 1, 'ing' => 2, 'curveball' => array(1, 2, 3=>4));
echo json_encode($arr);
?>
# elsewhere, in Python...
import simplejson
print simplejson.loads('{"test":1,"ing":2,"curveball":{"0":1,"1":2,"3":4}}')
由於這個問題偶爾仍然受到關注,爲了澄清,Python 2+ [有內置的json庫](https:// docs.python.org/2/library/json.html)。 – kungphu
你應該實現你想要使用json_encode()
。 Python的符號是非常相似的,因此它應該滿足您的需求:
echo json_encode($myarray);
你的陣列應該是這樣的Python:
my_array = {
'a1': {
'29b': '',
'29a': ''
},
'a2': {
'29b': '',
'29a': ''
}
}
它的工作原理爲你的預期?
這裏是基於kungphu的上述RichieHindle的在Fastest way to convert a dict's keys & values from `unicode` to `str`?
import collections, json
def convert(data):
if isinstance(data, unicode):
return str(data)
elif isinstance(data, collections.Mapping):
return dict(map(convert, data.iteritems()))
elif isinstance(data, collections.Iterable):
return type(data)(map(convert, data))
else:
return data
import json
DATA = json.loads('{"test":1,"ing":2,"curveball":{"0":1,"1":2,"3":4}}')
print convert(DATA)
答案評論和我的解決方案,使你的意思,你要打印出一個PHP多維數組的格式,好像它是一個Python多串維數組? –
是的,我想將數組傳遞給python腳本,做進一步的分析。我需要將它格式化爲一個字符串,以便python通過'sys.argv'接受它。 – user602599