<Result>
<Hit index="1">
<Title>タイトル 01</Title>
<Url>http://hogehoge.co.jp/01.html </Url>
<Image>http://hogehoge.co.jp/img01.jpg </Image>
</Hit>
<Hit index="2">
<Title>タイトル 02</Title>
<Url>http://hogehoge.co.jp/02.html </Url>
<Image>http://hogehoge.co.jp/img02.jpg </Image>
</Hit>
<Hit index="3">
<Title>タイトル 03</Title>
<Url>http://hogehoge.co.jp/03.html </Url>
<Image>http://hogehoge.co.jp/img03.jpg </Image>
</Hit>
.
.
.
以下で全件取得できるのですが、
例えば2番目(Hit index="2")から8件(Hit index="9"まで)だけ取得したい場合はどの様にすればよいのでしょうか?
$xml=simplexml_load_file($url);
$hits = $xml->Result->Hit;
foreach ( $hits as $hit )
echo h(urlencode($hit->Url));
echo h($hit->Image);
echo h($hit->Title);
----------------------------
array_sliceの使い方がよくわかりません。
宜しくお願いします。
No.2ベストアンサー
- 回答日時:
array_sliceで切り出せるのは「配列」だけです(関数名からも自明ですしマニュアルで確認すればもっと確実でしょう)。
例示されたソースでは「オブジェクト」を扱っていませんか?対象がオブジェクトであれば、素直にforeachの中で(カウンタを)カウントアップして自前で判断するのが適切だと思います。
$cnt = 0;
foreach ($obj as $val) {
$cnt++;
if ($cnt < 2) { continue; }
if ($cnt > 8) { break; }
// $val を処理
}
有難うございます。
思うように処理することができました。
array_sliceのリファレンス等、色々なサンプルはみな配列になっていたので、この部分をどの様に記載するのか分からず悩んでいました。
やはり配列でないとダメなのですね。
エラー文からも、そのあたりに問題があるようだったので
配列に変換するなど処理が必要なのか?
と思いつつ、どうすれば良いのか停滞していました。
配列とオブジェクトについて少しですが理解できました。
本当に有難うございました。
No.1
- 回答日時:
なんでリファレンスを読まないの?
回答有難うございます。
勿論、リファレンスも読みましたし他参考サイトも検索しました。
array_slice($hits,1,8)で良いのかと思いましたが、これを何処に入れて、どの様に使用したら良いのかが分かりませんでした。
$xml=simplexml_load_file($url);
$hits = array_slice($xml->Result->Hit,1,3);
foreach ( $hits as $hit ) {
echo h(urlencode($hit->Url));
echo h($hit->Image);
echo h($hit->Title);
}
これだと、このようなエラーになってしまいます。
Warning: array_slice() expects parameter 1 to be array,
Warning: Invalid argument supplied for foreach()
色々試してみたのですが。。
詳しい方には簡単であったり、リファレンスを読んで解決できるのでしょうが、
初心者にとっては、ほんの些細なことでつまずき進めないことが多々あるのです。
私だけの回答ではなく、初心者で同じような疑問にぶつかってこのページを見る人もいるかと思います。
誰でも得意・不得意分野があるかと思います。
「得意分野や得た経験、持っている知識で困っている人を助けましょう。」
「すでに投稿された質問・回答を検索して、あなたの毎日に役立てましょう。」
という趣旨のもとに、お力添えをいただければと思います。
有難うございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Perl RSSにdiv,ul classを付けたいのですがどのようにつけるのかわからないです 2 2022/03/28 01:53
- PHP imageフォルダに、画像をリサイズして保存する時のファイル名を変更したい 1 2023/05/30 11:39
- PHP php ログイン 1 2022/11/01 00:24
- PHP PHPプログラムの間違い 1 2022/10/06 14:33
- PHP PHP MySql 画像を取得 1 2022/06/04 14:05
- その他(SNS・コミュニケーションサービス) 忘れてしまった音源 すみませんこちらのかたが使ってる 音源はなんていう名前でしょう。 調べても上手く 3 2023/08/22 01:18
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
- HTML・CSS CSSが効かずどのように指定すれば良いか分からないのでアドバイスお願い致します 2 2023/06/07 12:25
- HTML・CSS 書籍を見つつサイト造りの練習をしているのですが、見た目が一致しません 2 2022/11/28 15:00
- JavaScript clear機能を失わずにファイルアップロード機能を作成したい 3 2023/06/10 16:12
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
リッチテキストエディターでの...
-
reuterの記事をbeautiful.soup....
-
タグにはさまれている文字以外...
-
[php][正規表現]タグ以外を削除...
-
正規表現でタグの置換をしたい...
-
echoで画像を呼び出すことがで...
-
PHP Webページのタイトルを取得...
-
htmlでflashを開く、画面サイズ...
-
VBAのコマンドボタンの文字列の...
-
ソースコードの1行が長いとき...
-
エスケープ文字の復帰(¥r)と...
-
メッセージボックスで1025文字...
-
ファイルから読み取った改行文...
-
改行について
-
ダブルコーテーション(
-
文字の入力で横バー上段、中断...
-
C++でのCRLFについて
-
半角英数字のみを受け付ける入...
-
COBOLの改行
-
Excel関数「COUNTIF」で”文字”...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
reuterの記事をbeautiful.soup....
-
JSFタグのfタグとは
-
正規表現で複数行に渡る範囲を...
-
変数にHTMLを代入する場合
-
phpの正規表現でstyle="●●"を削...
-
Nvuで作成したhtmlをコピペして...
-
正規表現で指定範囲すべて除去...
-
正規表現でタグの置換をしたい...
-
Strutsでリンクを動的に生成したい
-
自分でタグ打ちして作ったペー...
-
php正規表現 相対パス→絶対パス
-
ASP.NET(C#)とhtmlの#include
-
PHPの正規表現でHTMLタグの内容...
-
csobjというタグについて
-
VBSでのhtmlタグ要素名の置換
-
htmlタグ間の特定文字置換
-
URLの連続アクセス
-
HTMLファイルの書き換え
-
htmlspecialchars関数を使いな...
-
javascriptの正規表現でhtmlか...
おすすめ情報