File contact.csv
123456789,Markroc
213243546,Ferththas
435465657,Vellwerd
657483920,Roc
987654367,Conorah
549023565,Rocric
569028494,Do
768494893,Wardethel
756389574,Stanguth
564757485,Lafjohn
877589584,Mann-mac
575848584,Bandoald
575848685,Nethcla
839483958,Niel-sara
575493854,Thoann
728458395,Helmley
dataUsers.json
[
{
"_id": "5e637643b1bda0806a485ebe",
"age": 31,
"email": "gaysmith@nikuda.com",
"address": "238 Grimes Road, Sandston, Idaho, 1847",
"friends": [
{
"id": 0,
"name": "Emilia Tyson"
},
{
"id": 1,
"name": "Gibson Kirkland"
},
{
"id": 2,
"name": "Everett Ferrell"
}
]
},
{
"_id": "5e637643ef9baa2fabbae262",
"age": 22,
"email": "everettferrell@nikuda.com",
"address": "121 Furman Street, Tooleville, Kansas, 1989",
"friends": [
{
"id": 0,
"name": "Case Jefferson"
},
{
"id": 1,
"name": "Henderson Delacruz"
},
{
"id": 2,
"name": "Delia Morrow"
}
]
},
{
"_id": "5e637643b74c487d86a47ce3",
"age": 26,
"email": "deliamorrow@nikuda.com",
"address": "220 Hegeman Avenue, Interlochen, Colorado, 668",
"friends": [
{
"id": 0,
"name": "Earnestine Meyer"
},
{
"id": 1,
"name": "Bethany Nixon"
},
{
"id": 2,
"name": "Dixie Carver"
}
]
},
{
"_id": "5e637643dbd01881c5990425",
"age": 40,
"email": "dixiecarver@nikuda.com",
"address": "716 Benson Avenue, Robinson, Massachusetts, 9444",
"friends": [
{
"id": 0,
"name": "Contreras Mccormick"
},
{
"id": 1,
"name": "Lindsay Bond"
},
{
"id": 2,
"name": "Key Richard"
}
]
},
{
"_id": "5e6376433a30bffc7ca1ce01",
"age": 34,
"email": "keyrichard@nikuda.com",
"address": "478 Thomas Street, Calpine, Guam, 1121",
"friends": [
{
"id": 0,
"name": "Mitzi Avila"
},
{
"id": 1,
"name": "Marci Beach"
},
{
"id": 2,
"name": "Angeline Davis"
}
]
},
{
"_id": "5e637643e09566e263912eab",
"age": 21,
"email": "angelinedavis@nikuda.com",
"address": "106 Kimball Street, Vale, Arkansas, 8438",
"friends": [
{
"id": 0,
"name": "Bradford Christian"
},
{
"id": 1,
"name": "Carly Nash"
},
{
"id": 2,
"name": "Riggs Hicks"
}
]
}
]
Code PHP
<?php
//Show Error Code
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
//Read file JSON and CSV
$json = file_get_contents('dataUsers.json');
$file = fopen("contact.csv", "r");
//Decode JSON
$arrayJSON = json_decode($json, true);
//Create Result Data Class
class Result {
public $item_id;
public $name;
public $age;
public $email;
public $address;
public $bestFriend;
public $date;
}
//Create Result Data Array
$resultData= array();
//Iterate CSV
while (($row = fgetcsv($file, 0, ",")) !== FALSE) {
//Iterate JSON
foreach($arrayJSON as $obj){
//Create result new object
$myResult = new Result();
//Read Data CSV
$myResult->item_id = $row[0]; // ID
$myResult->name = $row[1]; //Namee
//Read Data JSON
$myResult->age = $obj['age'];
$myResult->email = $obj['email'];
$myResult->address = $obj['address'];
$myResult->address = $obj['friends'][0]['name'];
//New value
$myResult->date = new DateTime();
//Add object created into array
array_push($resultData, $myResult);
}
}
//Show results
echo(json_encode($resultData));
//Create file Results CSV
$fp = fopen('result.csv', 'wb');
foreach ($resultData as $obj) {
fputcsv($fp, (array) $obj);
}
fclose($fp);
?>