2015-10-09 86 views
3

所以我有如下所示的列表:裹陣列分成自定義串基於該陣列上

$mylist = array('100003028593816', '1784394111', '100008137385157', '100000462582000','100001633550680', '100000757743079'); 

(此列表可基於不同的輸入等,這僅僅是一個例子)

我想從該數組創建一個STRING,如下所示。

$string = '{"100003028593816":1,"1784394111":1,"100008137385157":1,"100000462582000":1,"100001633550680":1,"100000757743079":1}' 

(注:看看他們是如何與上述相同的價值觀,他們剛剛結束了不同這就是他們需要被張貼所以我非常想借此從數組和包裹的價值。他們爲{「值1」:1,「值2」:1}。等

在Python中我用

mystring= '{' + ','.join(map(lambda x: '"' + x + '":1', mylist)) + '}' 

這奏效了,我只是不知道什麼proficent辦法做到這一點在PHP中是。

回答

3

只需使用array_fill_keys,並且陣列編碼與json_encode

echo json_encode(array_fill_keys($mylist, 1)); 

輸出:

{"100003028593816":1,"1784394111":1,"100008137385157":1,"100000462582000":1,"100001633550680":1,"100000757743079":1} 
+0

我從來沒有使用'array_fill_keys()',它甚至沒有發生在我身上。 – AbraCadaver

+3

不要告訴我,我只是偶然發現它。 – Federkun