Php 从twitter api Yahoo WOEID显示全国各地的位置
下面是示例标记和json,我试图实现的是使用标记列出json countrywise中可用的所有位置。我可以很容易地列出所有的位置,但很难找到一种方法来列出它们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
<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>