Php 从twitter api Yahoo WOEID显示全国各地的位置

Php 从twitter api Yahoo WOEID显示全国各地的位置,php,arrays,json,twitter-oauth,Php,Arrays,Json,Twitter Oauth,下面是示例标记和json,我试图实现的是使用标记列出json countrywise中可用的所有位置。我可以很容易地列出所有的位置,但很难找到一种方法来列出它们 <select> <optgroup value="23424977" label="United States"> <option value="2352824">Albuquerque</option> <option value="2

下面是示例标记和json,我试图实现的是使用标记列出json countrywise中可用的所有位置。我可以很容易地列出所有的位置,但很难找到一种方法来列出它们

<select>
      <optgroup value="23424977" label="United States">
        <option value="2352824">Albuquerque</option>
        <option value="2357024">Atlanta</option>
        <option >...all locations under united states...</option>

      </optgroup>
      <optgroup value="23424900" label="Mexico">
        <option value="110978">Acapulco</option>
        <option value="115958">Chihuahua</option>
      </optgroup>
    </select> 
我正在使用下面的代码生成一个下拉菜单,其中列出了所有的位置,但我正在寻找的是使其更有条理,以便属于同一个国家的所有位置都应该在它下面

   <?php

require_once("twitteroauth.php"); //Path to twitteroauth library

$consumerkey = "*******SECRET************";
$consumersecret = "*******SECRET************";
$accesstoken = "*******SECRET************";
$accesstokensecret = "*******SECRET************";

function getConnectionWithAccessToken($cons_key, $cons_secret, $oauth_token, $oauth_token_secret) {
  $connection = new TwitterOAuth($cons_key, $cons_secret, $oauth_token, $oauth_token_secret);
  return $connection;
}


$connection = getConnectionWithAccessToken($consumerkey, $consumersecret, $accesstoken, $accesstokensecret);

$tweets = $connection->get("https://api.twitter.com/1.1/trends/available.json?id=1");


$jdcode = json_encode($tweets);
$loc_namearray = (json_decode($jdcode, true));

$loc_name = array();
$loc_id = array();
foreach ($loc_namearray as $value) {

    array_push($loc_name, $value['name']);
    array_push($loc_id, $value['woeid']);
}
$locations = array_combine($loc_name, $loc_id);

?>


    <select class="locations" id="location" name="location">
        <option>Select Location</option>
        <?php 
         foreach ($locations as $value => $key) { 
         ?>

         <option value="<?php echo $key ?>"><?php echo $value ?></option>
            <?php
         }
         ?>
        ?>
    </select>

请提供迄今为止您尝试过但不起作用的代码。我已添加了我正在使用的代码。。实际上,该代码可以工作并填充所有位置的下拉列表,但我要寻找的是使其更有组织性,以便属于同一国家的所有位置都应该像所讨论的示例html标记一样属于它
   <?php

require_once("twitteroauth.php"); //Path to twitteroauth library

$consumerkey = "*******SECRET************";
$consumersecret = "*******SECRET************";
$accesstoken = "*******SECRET************";
$accesstokensecret = "*******SECRET************";

function getConnectionWithAccessToken($cons_key, $cons_secret, $oauth_token, $oauth_token_secret) {
  $connection = new TwitterOAuth($cons_key, $cons_secret, $oauth_token, $oauth_token_secret);
  return $connection;
}


$connection = getConnectionWithAccessToken($consumerkey, $consumersecret, $accesstoken, $accesstokensecret);

$tweets = $connection->get("https://api.twitter.com/1.1/trends/available.json?id=1");


$jdcode = json_encode($tweets);
$loc_namearray = (json_decode($jdcode, true));

$loc_name = array();
$loc_id = array();
foreach ($loc_namearray as $value) {

    array_push($loc_name, $value['name']);
    array_push($loc_id, $value['woeid']);
}
$locations = array_combine($loc_name, $loc_id);

?>


    <select class="locations" id="location" name="location">
        <option>Select Location</option>
        <?php 
         foreach ($locations as $value => $key) { 
         ?>

         <option value="<?php echo $key ?>"><?php echo $value ?></option>
            <?php
         }
         ?>
        ?>
    </select>