質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

Q&A

解決済

2回答

808閲覧

QiitaAPIで特定の要素のみ取得したい。

Mason

総合スコア14

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

0グッド

0クリップ

投稿2021/10/17 15:30

前提・実現したいこと

phpでqiitaAPIを使用し、記事一覧を取得しました。
ここから、タイトルのみ、タグのみなど特定の要素のみ取得したいです。

該当のソースコード

PHP

1<?php 2$url = "https://qiita.com/api/v2/items?page=1&per_page=1&query=PHP"; 3$curl = curl_init($url); 4 5 6curl_setopt($curl, CURLOPT_URL, $url); 7curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); 8 9$html = curl_exec($curl); 10$tmp = json_decode($html); 11 12var_dump((array) $tmp); 13 14curl_close($curl); 15?>

どのようにtitleのみを取得し、出力させるのでしょうか。
ご教授して頂けたら幸いです。

試したこと

preg_matchで正規表現の検索でマッチしたものを取得するなどのやり方を試みてみましたがうまくいきませんでした。

$searce = preg_match('/title/', $tmp); var_dump((array) $searce);

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ありがとうございます!取得する事はできました。
しかし、ここから変数を作りimplodeでコンマ区切りで表示しようとすると、1件しか取れなくなります、、、。なんででしょう?
取り敢えず、BAとさせて貰います。

foreach($tmp as $article) { $list = [$article->title,$article->created_at]; $result = implode(',',$list); } var_dump($result);

投稿2021/10/19 13:23

Mason

総合スコア14

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Pomu3270

2021/10/20 11:20

foreachの中に$resultがあるので、foreachの最後のループの$listのデータしかとってこれていないからです。 foreachの外に一つ変数を作り、そこに$resultを都度格納してあげるといいと思います!
guest

0

ベストアンサー

$tmp[0]->titleでタイトルが取得できます。

以下の場合、per_page=10で10件取得し、10件のtitleが取れます。

<?php $url = "https://qiita.com/api/v2/items?page=1&per_page=10&query=PHP"; $curl = curl_init($url); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); $html = curl_exec($curl); $tmp = json_decode($html); foreach($tmp as $article) { var_dump($article->title); $index++; } curl_close($curl); ?>

投稿2021/10/18 05:12

Pomu3270

総合スコア280

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問