2016-02-26 31 views
1

我有兩個不同的Json文件,每個文件都是從不同的php數組中生成的。它們都包含一個我想在一個文檔中鏈接在一起的類似信息。將類似的數組信息結合到Json中

Php array one看起來像這樣:

$HisNameIsMyName = array(
    'His' => 'John', 
    'Name' => 'Jacob', 
    'Is' => 'Jacob', 
    'My' => 'Jacob', 
    'Name2' => 'Shmidt'); 

並通過下面的代碼被轉換成Json

$compiled = json_decode(file_get_contents('compiled.json'), true); 
foreach ($HisNameIsMyName as $word => $publisher) { 
    $compiled[$word]['publisher'] = $publisher; 
} 
file_put_contents('compiled.json', json_encode($compiled, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE)); 

和輸出以下:

{ 
    "His": { 
     "publisher": "John" 
    }, 
    "Name": { 
     "publisher": "Jacob" 
    }, 
    "Is": { 
     "publisher": "Jacob" 
    }, 
    "My": { 
     "publisher": "Jacob" 
    }, 
    "Name2": { 
     "publisher": "Shmidt" 
    } 
} 

每個Publisher已經被分配一個數字在不同的數組中,看起來像李柯如下:

$numberToPublisher = array(
    "John" => 1, 
    "Jacob" => 2, 
    "Jingle" => 3, 
    "Himer" => 4, 
    "Shmidt" => 5 

我將如何採取$numberToPublisher分配給Publisher數量,並將其添加到Json,這樣它看起來像下面這樣:

{ 
    "His": { 
     "publisher": "John" 
     "pubNumber": "1" 
    }, 
    "Name": { 
     "publisher": "Jacob" 
     "pubNumber": "2" 
    }, 
    "Is": { 
     "publisher": "Jacob" 
     "pubNumber": "2" 
    }, 
    "My": { 
     "publisher": "Jacob" 
     "pubNumber": "2" 
    }, 
    "Name2": { 
     "publisher": "Shmidt" 
     "pubNumber": "5" 
    } 
} 

回答

1

擴展現有的循環一樣這個:

foreach ($HisNameIsMyName as $word => $publisher) { 
    $compiled[$word]['publisher'] = $publisher; 
    $compiled[$word]['pubNumber'] = $numberToPublisher[$publisher]; 
} 
+0

沒想到可能那麼簡單。謝謝! – daylon