我如何动态地从JSON文件中获取数组 [英] How can i get the arrays from the JSON file Dynamically
本文介绍了我如何动态地从JSON文件中获取数组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有Json文件,其中包含很多数组.我该如何按名称动态获取每个人的数组,例如get Parameter.
I have Json file which contain alot of Arrays. How can i get the the array Dynamically for each person by name like the get Parameter.
JSON
[{
"Name": "Somename",
"Lastname": "somelastname",
"Address": "someaddress",
},
{
"Name": "Somename1",
"Lastname": "somelastname1",
"Address": "someaddress1",
},
{
"Name": "Somename2",
"Lastname": "somelastname2",
"Address": "someaddress2",
}}
PHP
<?php
error_reporting(0);
$json_file = file_get_contents('jsonfile.json');
$someArray = json_decode($json_file, true);
?>
HTML
<a href="product.php?post=name">
<h3 id="custompage"><?php echo $value["Name"]; ?>
<span><br><?php echo $value["Lastname"]; ?></span>
<span><?php echo $value["Address"]; ?></span>
</h3>
</a>
推荐答案
我不知道您到底需要做什么(仅查找一个匹配项,或获取所有匹配项),但这两者都适用:
I don't know what exactly you need to do (find only one match, or fetch all), but this is for both :
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
$array = array(
1 => array( "Name" => "Somename1", "Lastname" => "somelastname1", "Address" => "someaddress1"),
2 => array( "Name" => "Somename2", "Lastname" => "somelastname2", "Address" => "someaddress2"),
3 => array( "Name" => "Somename3", "Lastname" => "somelastname3", "Address" => "someaddress3"),
4 => array( "Name" => "Somename4", "Lastname" => "somelastname4", "Address" => "someaddress4")
);
$data1 = json_encode($array);
//var_dump($data1);
$data = json_decode($data1, true);
//var_dump(json_decode($data1));
$myname = "Somename3";
/* one liner to get one result */
if( array_search("$myname", array_column($data, 'Name')) == true ){ echo"[ $myname found ! ]"; } else { echo"[ no data match ! ]"; }
/* loop to get all results */
foreach($data as $user){
echo $user['Name'].' '.$user['Lastname'].' '.$user['Address'].'<br/>';
}
?>
这篇关于我如何动态地从JSON文件中获取数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文