将json文件转换为php数组以从数组中选择随机名称
问题如下: 我正在将附加到每个名称的名称和值列表(repCode)从excel导出到一个文件中 然后我想将文件转换成一个数组,这样我就可以有一段代码,从数组中选择一个随机名称,并显示随机名称(以及附加到名称的值(repCode)) 到目前为止,我已经尝试了很多选择,但我一直遇到一些问题,我正在努力寻找解决方案。一个例子是:将json文件转换为php数组以从数组中选择随机名称,json,php,arrays,Json,Php,Arrays,问题如下: 我正在将附加到每个名称的名称和值列表(repCode)从excel导出到一个文件中 然后我想将文件转换成一个数组,这样我就可以有一段代码,从数组中选择一个随机名称,并显示随机名称(以及附加到名称的值(repCode)) 到目前为止,我已经尝试了很多选择,但我一直遇到一些问题,我正在努力寻找解决方案。一个例子是: <?php $jsondata = file_get_contents("Names.json"); $json = json_decode($jsondata, t
<?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;
?>
下面是一些代码:
我回显文件时没有结果。
因此,我甚至无法找到我想要使用已转换为数组的文件的部分,因此我可以使用代码来选择随机名称+关联的代表代码并显示它
任何帮助都将不胜感激。在您的第一个示例中,您试图将
$output
用作数组,但实际上并非如此。此外,您没有访问$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'];
对于第二个示例,您没有实际加载JSON文件,然后忘记了Reps
键:
$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"];
在第一个示例中,您试图将
$output
用作数组,但实际上并非如此。此外,您没有访问$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'];
对于第二个示例,您没有实际加载JSON文件,然后忘记了Reps
键:
$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"];
第一个示例看起来像是随机元素部分依赖于
$output
是一个数组,但它是一个字符串。使用array\u rand()
选择数组的随机元素。非常感谢您的反馈。有效。第一个示例看起来像是随机元素部分依赖于$output
是一个数组,但它是一个字符串。使用array\u rand()
选择数组的随机元素。非常感谢您的反馈。工作。你的代码工作异常。非常感谢@abracadver。您的代码运行异常。非常感谢@Abracadver。