在使用TMDB(电影数据库) API时,我试图创建一个数组,我使用的是这包装程序。
我正试着做这个
require_once('../classes/tmdb-api.php');
// if you have no $conf it uses the default config
$tmdb = new TMDB();
//Insert your API Key of TMDB
//Necessary if you use default conf
$tmdb->setAPIKey('myKEy');
//Title to search for
$title = $_POST['searchTerm'];
$movies = $tmdb->searchMovie($title);
// returns an array of Movie Object
$movieArray = array();
$movieSearchArray = array();
foreach($movies as $movie) {
$movieTitle = $movie->getTitle();
$movieSearchArray[$movieTitle] = ['ID'][$movie->getID()];
$movieSearchArray[$movieTitle] = ['Trailer'][$movie->getTrailer()];
}
$movieArray[] = $movieSearchArray;
print_r($movieArray);例如,当用户搜索“Rocky”时,它会返回多个不同的电影标题,但是对于每个电影标题,我想创建一个类似这样的数组--例如,我试图在foreach循环中这样做,但我做错了什么呢?
[Rocky] => (
"id" = "2",
"rating" = "4"
)记住,可能会有10部不同的电影。这就是我现在搜索“洛奇”时得到的回报。
Array
(
[0] => Array
(
[Rocky] =>
[Rocky II] =>
[Rocky IV] =>
[Rocky V] =>
[Rocky Balboa] =>
[Rocky III] =>
[Rocky VI] =>
[Creed] =>
[The Real Rocky] =>
[Rocky Marciano] =>
[Where is Rocky II?] =>
[Rocky Handsome] =>
[Rocky Road] =>
[Rocky Mountain] =>
[Rocky Pink] =>
[Rocky and Bullwinkle] =>
[The Rocky Horror Picture Show] =>
[Rocky Mountain Grandeur] =>
)
)发布于 2016-05-12 17:32:07
我想您可以这样做,除了将项赋值给数组之外,[]中的索引必须在等于(=)符号之前,或者必须用键和值赋值整个数组。
所以不管是
foreach($movies as $movie) {
$movieTitle = $movie->getTitle();
$movieSearchArray[$movieTitle]['ID'] = $movie->getID();
$movieSearchArray[$movieTitle]['Trailer'] = $movie->getTrailer();
}或
foreach($movies as $movie) {
$movieSearchArray[$movie->getTitle()] = array(
'ID' => $movie->getID(),
'Trailer' => $movie->getTrailer()
);
}等等,用于$movie对象中的其他数据
https://stackoverflow.com/questions/37193570
复制相似问题