我有这样的JSON输出
{ "MOBILE_NETWORK": { "MTN": [ { "ID":"01","PRODUCT": [ {"PRODUCT_CODE":"1000","PRODUCT_ID":"1000","PRODUCT_NAME":"1GB","PRODUCT_AMOUNT":"335"}, {"PRODUCT_CODE":"2000","PRODUCT_ID":"2000","PRODUCT_NAME":"2GB","PRODUCT_AMOUNT":"670"}, {"PRODUCT_CODE":"5000","PRODUCT_ID":"5000","PRODUCT_NAME":"5GB","PRODUCT_AMOUNT":"1675"} ] } ], "Glo": [ { "ID":"02","PRODUCT": [ {"PRODUCT_CODE":"500","PRODUCT_ID":"500.01","PRODUCT_NAME":"1.6GB/1.8GB","PRODUCT_AMOUNT":"920"}, {"PRODUCT_CODE":"1600","PRODUCT_ID":"1600.01","PRODUCT_NAME":"1.6GB/1.8GB","PRODUCT_AMOUNT":"920"}, {"PRODUCT_CODE":"3750","PRODUCT_ID":"3750.01","PRODUCT_NAME":"4GB/5GB","PRODUCT_AMOUNT":"1840"}, {"PRODUCT_CODE":"5000","PRODUCT_ID":"5000.01","PRODUCT_NAME":"5.75GB/7.2GB","PRODUCT_AMOUNT":"2300"}, {"PRODUCT_CODE":"6000","PRODUCT_ID":"6000.01","PRODUCT_NAME":"7GB/8.75GB","PRODUCT_AMOUNT":"2760"}, {"PRODUCT_CODE":"8000","PRODUCT_ID":"8000.01","PRODUCT_NAME":"10GB/12.5GB","PRODUCT_AMOUNT":"3680"}, {"PRODUCT_CODE":"12000","PRODUCT_ID":"12000.01","PRODUCT_NAME":"12.5GB/15.6GB","PRODUCT_AMOUNT":"4600"}, {"PRODUCT_CODE":"16000","PRODUCT_ID":"16000.01","PRODUCT_NAME":"20GB/25GB","PRODUCT_AMOUNT":"7360"}, {"PRODUCT_CODE":"30000","PRODUCT_ID":"30000.01","PRODUCT_NAME":"42GB/52.5GB","PRODUCT_AMOUNT":"13800"}, {"PRODUCT_CODE":"45000","PRODUCT_ID":"45000.01","PRODUCT_NAME":"50GB/62.5GB","PRODUCT_AMOUNT":"16560"} ] } ], "9mobile": [ { "ID":"03","PRODUCT": [ {"PRODUCT_CODE":"500","PRODUCT_ID":"500.01","PRODUCT_NAME":"500MB","PRODUCT_AMOUNT":"475"}, {"PRODUCT_CODE":"1000","PRODUCT_ID":"1500.01","PRODUCT_NAME":"1.5GB","PRODUCT_AMOUNT":"950"}, {"PRODUCT_CODE":"1500","PRODUCT_ID":"2000.01","PRODUCT_NAME":"2GB","PRODUCT_AMOUNT":"1140"}, {"PRODUCT_CODE":"2500","PRODUCT_ID":"3000.01","PRODUCT_NAME":"3GB","PRODUCT_AMOUNT":"1425"}, {"PRODUCT_CODE":"4000","PRODUCT_ID":"4500.01","PRODUCT_NAME":"4.5GB","PRODUCT_AMOUNT":"1900"}, {"PRODUCT_CODE":"5500","PRODUCT_ID":"11000.01","PRODUCT_NAME":"11GB","PRODUCT_AMOUNT":"3800"}, {"PRODUCT_CODE":"11500","PRODUCT_ID":"15000.01","PRODUCT_NAME":"15GB","PRODUCT_AMOUNT":"4750"}, {"PRODUCT_CODE":"15000","PRODUCT_ID":"40000.01","PRODUCT_NAME":"40GB","PRODUCT_AMOUNT":"9500"}, {"PRODUCT_CODE":"27000","PRODUCT_ID":"75000.01","PRODUCT_NAME":"75GB","PRODUCT_AMOUNT":"14250"} ] } ], "Airtel": [ { "ID":"04","PRODUCT": [ {"PRODUCT_CODE":"1500","PRODUCT_ID":"1500.01","PRODUCT_NAME":"1.5GB","PRODUCT_AMOUNT":"950"}, {"PRODUCT_CODE":"3500","PRODUCT_ID":"3500.01","PRODUCT_NAME":"3.5GB","PRODUCT_AMOUNT":"1900"}, {"PRODUCT_CODE":"10000","PRODUCT_ID":"10000.01","PRODUCT_NAME":"10GB","PRODUCT_AMOUNT":"4750"}, {"PRODUCT_CODE":"16000","PRODUCT_ID":"16000.01","PRODUCT_NAME":"16GB","PRODUCT_AMOUNT":"7600"}, {"PRODUCT_CODE":"22000","PRODUCT_ID":"22000.01","PRODUCT_NAME":"22GB","PRODUCT_AMOUNT":"9500"} ] } ] } }
这里我要先获取所有MOBILE_NETWORK
我有此代码
<?php
$clubn = file_get_contents("https://..........");
if ($clubn) {
$clubn = json_decode($clubn);
}
foreach ($clubn as $club) {
?>
<option value="<?= $club->MOBILE_NETWORK ?>"><?= $club->MOBILE_NETWORK ?></option>
<?php
}
?>
同样,当选择每个网络时,我想获得所选网络下的值。我在HTML表单中使用GET方法,我有此
if ($_GET["network"] == $club->MOBILE_NETWORK) {
?>
<select class="form-control" name="data-plan" onchange="this.form.submit()">
<option value="">Choose Plan</option>
<?php
$clubc = file_get_contents("https://.......................");
if ($clubc) {
$clubc = json_decode($clubc);
}
foreach ($clubc as $clubs) {
?>
<option value="<?= $club->$_GET["newqork"]->PRODUCT_NAME ?>"><?= $club->$_GET["newqork"]->PRODUCT_NAME ?></option>
</select>
<?php
}
?>
<?php } ?>
我有上面的代码,但第一个没有,第二个都没有用,请帮助
您可以将其作为数组形式获得:
<?php
$json = '{ "MOBILE_NETWORK": { "MTN": [ { "ID":"01","PRODUCT": [ {"PRODUCT_CODE":"1000","PRODUCT_ID":"1000","PRODUCT_NAME":"1GB","PRODUCT_AMOUNT":"335"}, {"PRODUCT_CODE":"2000","PRODUCT_ID":"2000","PRODUCT_NAME":"2GB","PRODUCT_AMOUNT":"670"}, {"PRODUCT_CODE":"5000","PRODUCT_ID":"5000","PRODUCT_NAME":"5GB","PRODUCT_AMOUNT":"1675"} ] } ], "Glo": [ { "ID":"02","PRODUCT": [ {"PRODUCT_CODE":"500","PRODUCT_ID":"500.01","PRODUCT_NAME":"1.6GB/1.8GB","PRODUCT_AMOUNT":"920"}, {"PRODUCT_CODE":"1600","PRODUCT_ID":"1600.01","PRODUCT_NAME":"1.6GB/1.8GB","PRODUCT_AMOUNT":"920"}, {"PRODUCT_CODE":"3750","PRODUCT_ID":"3750.01","PRODUCT_NAME":"4GB/5GB","PRODUCT_AMOUNT":"1840"}, {"PRODUCT_CODE":"5000","PRODUCT_ID":"5000.01","PRODUCT_NAME":"5.75GB/7.2GB","PRODUCT_AMOUNT":"2300"}, {"PRODUCT_CODE":"6000","PRODUCT_ID":"6000.01","PRODUCT_NAME":"7GB/8.75GB","PRODUCT_AMOUNT":"2760"}, {"PRODUCT_CODE":"8000","PRODUCT_ID":"8000.01","PRODUCT_NAME":"10GB/12.5GB","PRODUCT_AMOUNT":"3680"}, {"PRODUCT_CODE":"12000","PRODUCT_ID":"12000.01","PRODUCT_NAME":"12.5GB/15.6GB","PRODUCT_AMOUNT":"4600"}, {"PRODUCT_CODE":"16000","PRODUCT_ID":"16000.01","PRODUCT_NAME":"20GB/25GB","PRODUCT_AMOUNT":"7360"}, {"PRODUCT_CODE":"30000","PRODUCT_ID":"30000.01","PRODUCT_NAME":"42GB/52.5GB","PRODUCT_AMOUNT":"13800"}, {"PRODUCT_CODE":"45000","PRODUCT_ID":"45000.01","PRODUCT_NAME":"50GB/62.5GB","PRODUCT_AMOUNT":"16560"} ] } ], "9mobile": [ { "ID":"03","PRODUCT": [ {"PRODUCT_CODE":"500","PRODUCT_ID":"500.01","PRODUCT_NAME":"500MB","PRODUCT_AMOUNT":"475"}, {"PRODUCT_CODE":"1000","PRODUCT_ID":"1500.01","PRODUCT_NAME":"1.5GB","PRODUCT_AMOUNT":"950"}, {"PRODUCT_CODE":"1500","PRODUCT_ID":"2000.01","PRODUCT_NAME":"2GB","PRODUCT_AMOUNT":"1140"}, {"PRODUCT_CODE":"2500","PRODUCT_ID":"3000.01","PRODUCT_NAME":"3GB","PRODUCT_AMOUNT":"1425"}, {"PRODUCT_CODE":"4000","PRODUCT_ID":"4500.01","PRODUCT_NAME":"4.5GB","PRODUCT_AMOUNT":"1900"}, {"PRODUCT_CODE":"5500","PRODUCT_ID":"11000.01","PRODUCT_NAME":"11GB","PRODUCT_AMOUNT":"3800"}, {"PRODUCT_CODE":"11500","PRODUCT_ID":"15000.01","PRODUCT_NAME":"15GB","PRODUCT_AMOUNT":"4750"}, {"PRODUCT_CODE":"15000","PRODUCT_ID":"40000.01","PRODUCT_NAME":"40GB","PRODUCT_AMOUNT":"9500"}, {"PRODUCT_CODE":"27000","PRODUCT_ID":"75000.01","PRODUCT_NAME":"75GB","PRODUCT_AMOUNT":"14250"} ] } ], "Airtel": [ { "ID":"04","PRODUCT": [ {"PRODUCT_CODE":"1500","PRODUCT_ID":"1500.01","PRODUCT_NAME":"1.5GB","PRODUCT_AMOUNT":"950"}, {"PRODUCT_CODE":"3500","PRODUCT_ID":"3500.01","PRODUCT_NAME":"3.5GB","PRODUCT_AMOUNT":"1900"}, {"PRODUCT_CODE":"10000","PRODUCT_ID":"10000.01","PRODUCT_NAME":"10GB","PRODUCT_AMOUNT":"4750"}, {"PRODUCT_CODE":"16000","PRODUCT_ID":"16000.01","PRODUCT_NAME":"16GB","PRODUCT_AMOUNT":"7600"}, {"PRODUCT_CODE":"22000","PRODUCT_ID":"22000.01","PRODUCT_NAME":"22GB","PRODUCT_AMOUNT":"9500"} ] } ] } }';
if (!empty($result = json_decode($json, 1))) {
$MOBILE_NETWORK = $result['MOBILE_NETWORK'];
var_dump($MOBILE_NETWORK);
}
可以从数组$MOBILE_NETWORK
获得的其他信息。