配列を作成しようとしています(存在していない場合)。配列の作成とプッシュ
foreach($playlist->items as $item) {
$str = $item->snippet->title;
$id = $item->snippet->resourceId->videoId;
$substring = substr($str, 0, 5);
$substring = strtolower($substring);
if (is_array($substring)) {
array_push($substring, $id);
}
else {
$substring = array();
array_push($substring, $id);
}
array_push($artists, $substring);
}
私はYouTubeのプレイリストから取得したデータを反復していますので、私は「タイトル」を保持foreachの各項目を通過 - アーティストと「ID」 - 動画同上。私は各タイトルのサブストリングを作成し、これを使ってアーティストを特定の配列にグループ化します。
そのアーティストの配列が既に存在する場合は、その配列の最後に 'id'を挿入しようとします。配列が存在しない場合は、配列を作成し、その配列に 'id'を挿入します。
最後に、私は各アーティスト配列を 'アーティスト'配列にプッシュしようとします。私は$アーティスト配列をプリントアウトしたときに、私は何を得る
は、それらが$サブストリングに基づいて一緒に分類されなければならないとき、ひとつひとつの$ idはそれ自身の配列である。この
Array
(
[0] => Array
(
[0] => 1_YUrdjLyAU
)
[1] => Array
(
[0] => Gp8lDW2LUM0
)
...
[543] => Array
(
[0] => Exa0CzlCb3Y
)
のようなものです。例:
Array
(
[0] => Array
(
[0] => 1_YUrdjLyAU
[1] => 1_YUrdjLyAU
[2] => 1_YUrdjLyAU
[3] => 1_YUrdjLyAU
[4] => 1_YUrdjLyAU
)
[1] => Array
(
[0] => Gp8lDW2LUM0
[1] => 1_YUrdjLyAU
[2] => 1_YUrdjLyAU
[3] => 1_YUrdjLyAU
)
私は何を理解していませんか?
できるだけ早く私は私が実現していた、この投稿として。 is_array($ substring)をチェックしているときに、$ substringと同じ名前の配列があり、$ substringが実際にはStringであるという配列ではないかどうかを実際に調べる必要があります。 –
最初に '$ substring = strtolower($ substring);'を作成し、 '$ substring = [];で値を紛失した後はなぜですか? – splash58
すべての項目について、 '$ substring'が配列でない場合、' $ id'を空の配列 '$ substring'にプッシュし、その配列を' $ artist'配列にプッシュします。 'substr()'と 'strtolower()'を実行している場合、 '$ substring'は常に文字列になります。 – MCMXCII