Problem is as follows:
I'm exporting a list of names and values(repCode) attached to each name from excel into a json file.
I then want to convert the json file into a php array so that I can have a piece of code that will select a random name from the php array and display the random name(and value(repCode) attached to the name).
I've tried many options so far but I keep running into problems that I'm struggling to find a solution for. One example would be:
<?php
$jsondata = file_get_contents("Names.json");
$json = json_decode($jsondata, true);
$output = '<ul>';
foreach($json['Reps']as $reps){
$output .='<h4>' .$reps['Client']."<h4>";
$output .= "<li>".$reps['Code']."</li>";
}
$output .= "</ul>";
$element = $output[mt_rand(0, count($output) - 1)];
echo $element;
?>
That doesn't work.
json File as follow: "Names.json"
{
"Reps": [
{"Client":"Jack",
"repCode":"tt1790861"},
{"Client":"James",
"repCode":"tt1790862"},
{"Client":"Sam",
"repCode":"tt1790863"},
{"Client":"Hendry",
"repCode":"tt1790864"},
{"Client":"Samone",
"repCode":"tt1790865"},
{"Client":"Judy",
"repCode":"tt179086"},
{"Client":"Jake",
"repCode":"tt1790867"},
{"Client":"Amy",
"repCode":"tt1790868"},
{"Client":"Brandon",
"repCode":"tt1790869"},
{"Client":"Blake",
"repCode":"tt17908610"},
{"Client":"Rick",
"repCode":"tt17908611"},
{"Client":"Morty",
"repCode":"tt17908612"}
]
}
And then below is some php code:
<?php
// JSON string
$someJSON = "Names.json";
// Convert JSON string to Array
$someArray = json_decode($someJSON, true);
print_r($someArray); // Dump all data of the Array
echo $someArray[0]["Client"]; // Access Array data
?>
I'm getting no result when I echo out the json file. So I can't even get to the part where I want to use the json file that's been converted into a php array so I can have code to select a random name + associated rep code and display it.
Any help would be appreciated.
In your first example you're trying to use $output
as an array, it's not. Also, you're not accessing the keys of $element
:
$element = $json['Reps'][mt_rand(0, count($json['Reps']) - 1)];
//or
$element = $json['Reps'][array_rand($json['Reps'])];
echo $element['Client'];
echo $element['repCode'];
For your second example, you're not actually loading the JSON file and then you forget the Reps
key:
$someJSON = file_get_contents("Names.json");
$someArray = json_decode($someJSON, true);
print_r($someArray);
echo $someArray["Reps"][0]["Client"];
//or random
echo $someArray["Reps"][array_rand($someArray["Reps"])]["Client"];
$json = file_get_contents('Names.json');
$reps = json_decode($json, true);
$key = array_rand($reps['Reps']);
$randomRepName = $reps['Reps'][$key]['Client'];
$randomRepCode = $reps['Reps'][$key]['repCode'];