从json中获取变量选择选项php

剪裁

我在php中有一个带有foreach的JSON解码数组,每当我从下拉菜单中选择一个选项时,它就会在表单中包含一个选择选项,它会返回列表中的最后一个值。我正在尝试保存flatnumber,building,address1变量。我该怎么办?

    $api_url = 'http://rest.api?postcode=' . urlencode($_GET['postcode']);
    $api_json = file_get_contents($api_url);
    $api_array = json_decode($api_json, true);
    $address = $api_array['addresses'];
    foreach($address as $addresses){
    echo '<option>'.$addresses['address'].'</option>';
        $flatnumber = $addresses['flatNumber'];
        $address1 = $addresses['building'];
        $address2 = $addresses['address1'];
        $town = $addresses['town'];
        $county = $addresses['county'];
    }

这是数组:

    Array ( [links] => Array ( [0] => Array ( [queries] => Array ( [0] => Array ( [name] => searchByPostcode [parameters] => Array ( [0] => Array ( [data] => GL50 2Tj [name] => postcode [validateAs] => /validate/ukPostcode ) ) ) ) [rel] => /rels/domestic/address-lookup /rels/self [uri] => http://?b=2jmj7l5rSw0yVb_vlWAYkK_YBwk{&postcode} ) [1] => Array ( [rel] => /rels/home [uri] => http:// ) ) [addresses] => Array ( [0] => Array ( [address] => 22, Andover Road, CHELTENHAM, Gloucestershire, GL50 2TJ [address1] => Andover Road [building] => 22 [county] => Gloucestershire [deliveryPointSuffix] => 1A [dependentLocality] => [dependentThorofare] => [doubleDependentLocality] => [flatNumber] => [houseName] => [houseNumber] => 22 [id] => |22||Andover Road||CHELTENHAM|Gloucestershire|GL50 2TJ|22|||1Al|ElecM|NoGasM|NoIGT| [igtWarning] => Unknown [knownElectricityMeter] => 1 [knownGasMeter] => [name] => 22, Andover Road, CHELTENHAM, Gloucestershire, GL50 2TJ [postCode] => GL50 2TJ [town] => CHELTENHAM ) [1] => Array ( [address] => 24, Andover Road, CHELTENHAM, Gloucestershire, GL50 2TJ [address1] => Andover Road [building] => 24 [county] => Gloucestershire [deliveryPointSuffix] => 1L [dependentLocality] => [dependentThorofare] => [doubleDependentLocality] => [flatNumber] => [houseName] => [houseNumber] => 24 [id] => |24||Andover Road||CHELTENHAM|Gloucestershire|GL50 2TJ|24|||1Lw|ElecM|GasM|NoIGT| [igtWarning] => NoIGT [knownElectricityMeter] => 1 [knownGasMeter] => 1 [name] => 24, Andover Road, CHELTENHAM, Gloucestershire, GL50 2TJ [postCode] => GL50 2TJ [town] => CHELTENHAM ) [2] => Array ( [address] => Flat Above, 24-26, Andover Road, CHELTENHAM, Gloucestershire, GL50 2TJ [address1] => Andover Road [building] => 24-26 [county] => Gloucestershire [deliveryPointSuffix] => [dependentLocality] => [dependentThorofare] => [doubleDependentLocality] => [flatNumber] => Flat Above [houseName] => [houseNumber] => 24-26 [id] => Flat Above|24-26||Andover Road||CHELTENHAM|Gloucestershire|GL50 2TJ|24-26||||ElecM|NoGasM|NoIGT| [igtWarning] => Unknown [knownElectricityMeter] => 1 [knownGasMeter] => [name] => Flat Above, 24-26, Andover Road, CHELTENHAM, Gloucestershire, GL50 2TJ [postCode] => GL50 2TJ [town] => CHELTENHAM ) [3] => Array ( [address] => 24-26, Andover Road, CHELTENHAM, Gloucestershire, GL50 2TJ [address1] => Andover Road [building] => 24-26 [county] => Gloucestershire [deliveryPointSuffix] => 1B [dependentLocality] => [dependentThorofare] => [doubleDependentLocality] => [flatNumber] => [houseName] => [houseNumber] => 24-26 [id] => |24-26||Andover Road||CHELTENHAM|Gloucestershire|GL50 2TJ|24-26|||1Bm|ElecM|NoGasM|NoIGT| [igtWarning] => Unknown [knownElectricityMeter] => 1 [knownGasMeter] => [name] => 24-26, Andover Road, CHELTENHAM, Gloucestershire, GL50 2TJ [postCode] => GL50 2TJ [town] => CHELTENHAM ) [4] => Array ( [address] => 26, Andover Road, CHELTENHAM, Gloucestershire, GL50 2TJ [address1] => Andover Road [building] => 26 [county] => Gloucestershire [deliveryPointSuffix] => 1N [dependentLocality] => [dependentThorofare] => [doubleDependentLocality] => [flatNumber] => [houseName] => [houseNumber] => 26 [id] => |26||Andover Road||CHELTENHAM|Gloucestershire|GL50 2TJ|26|||1Ny|NoElecM|GasM|NoIGT| [igtWarning] => NoIGT [knownElectricityMeter] => [knownGasMeter] => 1 [name] => 26, Andover Road, CHELTENHAM, Gloucestershire, GL50 2TJ [postCode] => GL50 2TJ [town] => CHELTENHAM ) [5] => Array ( [address] => 28, Andover Road, CHELTENHAM, Gloucestershire, GL50 2TJ [address1] => Andover Road [building] => 28 [county] => Gloucestershire [deliveryPointSuffix] => 1E [dependentLocality] => [dependentThorofare] => [doubleDependentLocality] => [flatNumber] => [houseName] => [houseNumber] => 28 [id] => |28||Andover Road||CHELTENHAM|Gloucestershire|GL50 2TJ|28|||1Ep|ElecM|NoGasM|NoIGT| [igtWarning] => Unknown [knownElectricityMeter] => 1 [knownGasMeter] => [name] => 28, Andover Road, CHELTENHAM, Gloucestershire, GL50 2TJ [postCode] => GL50 2TJ [town] => CHELTENHAM ) [6] => Array ( [address] => 30, Andover Road, CHELTENHAM, Gloucestershire, GL50 2TJ [address1] => Andover Road [building] => 30 [county] => Gloucestershire [deliveryPointSuffix] => 1F [dependentLocality] => [dependentThorofare] => [doubleDependentLocality] => [flatNumber] => [houseName] => [houseNumber] => 30 [id] => |30||Andover Road||CHELTENHAM|Gloucestershire|GL50 2TJ|30|||1Fq|ElecM|GasM|NoIGT| [igtWarning] => NoIGT [knownElectricityMeter] => 1 [knownGasMeter] => 1 [name] => 30, Andover Road, CHELTENHAM, Gloucestershire, GL50 2TJ [postCode] => GL50 2TJ [town] => CHELTENHAM ) [7] => Array ( [address] => 32, Andover Road, CHELTENHAM, Gloucestershire, GL50 2TJ [address1] => Andover Road [building] => 32 [county] => Gloucestershire [deliveryPointSuffix] => 1G [dependentLocality] => [dependentThorofare] => [doubleDependentLocality] => [flatNumber] => [houseName] => [houseNumber] => 32 [id] => |32||Andover Road||CHELTENHAM|Gloucestershire|GL50 2TJ|32|||1Gr|ElecM|GasM|NoIGT| [igtWarning] => NoIGT [knownElectricityMeter] => 1 [knownGasMeter] => 1 [name] => 32, Andover Road, CHELTENHAM, Gloucestershire, GL50 2TJ [postCode] => GL50 2TJ [town] => CHELTENHAM ) [8] => Array ( [address] => Phoenix Inn, 36, Andover Road, CHELTENHAM, Gloucestershire, GL50 2TJ [address1] => Andover Road [building] => 36 [county] => Gloucestershire [deliveryPointSuffix] => [dependentLocality] => [dependentThorofare] => [doubleDependentLocality] => [flatNumber] => Phoenix Inn [houseName] => [houseNumber] => 36 [id] => Phoenix Inn|36||Andover Road||CHELTENHAM|Gloucestershire|GL50 2TJ|36||||NoElecM|GasM|NoIGT| [igtWarning] => NoIGT [knownElectricityMeter] => [knownGasMeter] => 1 [name] => Phoenix Inn, 36, Andover Road, CHELTENHAM, Gloucestershire, GL50 2TJ [postCode] => GL50 2TJ [town] => CHELTENHAM ) [9] => Array ( [address] => 36, Andover Road, CHELTENHAM, Gloucestershire, GL50 2TJ [address1] => Andover Road [building] => 36 [county] => Gloucestershire [deliveryPointSuffix] => 1P [dependentLocality] => [dependentThorofare] => [doubleDependentLocality] => [flatNumber] => [houseName] => [houseNumber] => 36 [id] => |36||Andover Road||CHELTENHAM|Gloucestershire|GL50 2TJ|36|||1P0|ElecM|NoGasM|NoIGT| [igtWarning] => Unknown [knownElectricityMeter] => 1 [knownGasMeter] => [name] => 36, Andover Road, CHELTENHAM, Gloucestershire, GL50 2TJ [postCode] => GL50 2TJ [town] => CHELTENHAM ) ) )
剪裁

我要做的就是将所有值都放入选项值中,提交表单,然后在提交后爆炸这些值。

        $result = $_POST['address1'];
        $result_explode = explode('|', $result);
        $flatnumber = $result_explode[0];
        $building = $result_explode[1];
        $street = $result_explode[2];


        <form method="post">
            <select name="address1">
        foreach($address as $addresses){
            echo '<option value="'.$addresses['flatNumber'].'|'.$addresses['building'].'|'.$addresses['address1'].'|'.$addresses['knownElectricityMeter'].'|'.$addresses['knownGasMeter'].'">'.$addresses['flatNumber'].' '.$addresses['building'].' '.$addresses['address1'].'</option>';  
        }
            </select>
        </form>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

获取选择选项Django的值

来自分类Dev

jQuery获取选择选项的名称

来自分类Dev

获取optgroup中选择选项的索引

来自分类Dev

JSON导致选择选项

来自分类Dev

<>中的HTML选择选项

来自分类Dev

在jQuery选定插件中获取取消选择选项的价值

来自分类Dev

使用Javascript获取选择选项值

来自分类Dev

从选择选项获取值和名称

来自分类Dev

在下拉列表中获取未选择选项的值

来自分类Dev

如何从PHP中的数组的选择选项中获取值?

来自分类Dev

javascript在url中传递变量,然后选择选择选项

来自分类Dev

从json数据中填充选择选项并创建表单请求

来自分类Dev

选择选项未获取值

来自分类Dev

我如何使用JavaScript获取选择选项中的值

来自分类Dev

从ReactJs中的变量生成选择选项条目

来自分类Dev

在选择选项中使用多个变量

来自分类Dev

在javascript / jquery中获取选择选项菜单

来自分类Dev

获取optgroup中选择选项的索引

来自分类Dev

获取可见选择选项的数量

来自分类Dev

获取php填充选择选项的ID

来自分类Dev

使用php预选择选择选项

来自分类Dev

如何从选择选项获取数据到PHP?

来自分类Dev

在选择选项中迭代json数据

来自分类Dev

获取多行选择选项的值

来自分类Dev

javascript在url中传递变量,然后选择选择选项

来自分类Dev

在数据列表中获取类选择选项

来自分类Dev

从 json 结果中填充选择选项

来自分类Dev

从物化选择选项中获取数据图标值

来自分类Dev

从 json 设置选择选项