2013-04-26 87 views
-3

可以在PHP兩個JSON上JOIN,查找和打印未連接的行? 數據看起來像這樣:左連接兩個JSON

[{"column_name":"test","position":10},{"column_name":"test2","position":12},{"column_name":"test3","position":14}] 

[{"dbcolumnname":"test"},{"dbcolumnname":"test3"}] 

輸出繼電器應該looke這樣的:

[{"column_name":"test2","position":12}] 

預先感謝幫助。

回答

0

This?

<? 
$json = '[{"column_name":"test","position":10},{"column_name":"test2","position":12},{"column_name":"test3","position":14}]'; 
$db_json = '[{"dbcolumnname":"test"},{"dbcolumnname":"test3"}]'; 

// Convert json to arrays of objects 
$array = json_decode($json); 
$db_array = json_decode($db_json); 

// Extract all dbcolumnnames 
$dbcolumnnames = array(); 
foreach($db_array as $v){ 
    $dbcolumnnames[] = $v->dbcolumnname; 
} 

// Rebuild an array with $array's objects where column_name is not in dbcolumnnames 
$new_array = array(); 
foreach($array as $v){ 
    if (!in_array($v->column_name , $dbcolumnnames)) { 
     $new_array[]=$v; 
    } 
} 

// echo it, json encoded : 
echo(json_encode($new_array)); 
// will display : 
// [{"column_name":"test2","position":12}] 
?> 
+0

它完美的作品!非常感謝你 :) – tabek 2013-04-26 13:13:18