ハンドルネームのとうり、php初級者です。
素朴な質問をさせてください。
変数"$test"があります。これをあるwebページにて、指定した要素が存在する数だけ回して表示しています。
<?
$testlist = getTestList();
foreach ($testlist as $test) {
?>
<a name="<?= date_format("Ymd",$test["テスト日付"]) ?>"></a>
<table>
<tr>
<div>【 <?= hs($test["テスト題名"]) ?> 】</div>
</tr>
<tr>
<div align="left"><?= disp($test["テスト本文"]) ?></div><br />
</tr>
</table>
<?
}
?>
これをdate_format("Ymd",$test["テスト日付"])の月(Ym)が同じものだけを表示したいのですが、方法がわかりません。
(希望する動きの例)
下記3つのデータがあるとします。
~データ1~
テスト日付:20070504
テスト題名:テスト1
テスト本文:テスト本文1
~データ2~
テスト日付:20070321
テスト題名:テスト2
テスト本文:テスト本文2
~データ3~
テスト日付:20070517
テスト題名:テスト3
テスト本文:テスト本文3
※date_format("Ymd",$test["テスト日付"])が20070504だった時
テスト日付:20070504
テスト題名:テスト1
テスト本文:テスト本文1
テスト日付:20070517
テスト題名:テスト3
テスト本文:テスト本文3
※date_format("Ymd",$test["テスト日付"])が20070321だった時
テスト日付:20070321
テスト題名:テスト2
テスト本文:テスト本文2
こんな感じです。
どなたかお分かりになられましたらご教授ください。お願いいたします。
No.2
- 回答日時:
日付の左から6桁を取得して、テスト日付の6桁と比較して
みたらどうですか?
「mb_substr」で取得して・・・
必要であれば「mb_strlen」で桁数も習得できますし。
参考URL:http://bg.pi-ppi.com/page/g01/000107.html,http:/ …
この回答への補足
アドバイスありがとうございます。
比較する場所なのですが、
<? $viewmonth = date_format("Ymd",$test["日付"]);
$month = mb_substr("$viewmonth", -4, 2); ?>
といった処理を行い、
<? if (!strcmp($month1, $month2)) { ?>
で比較をすることになると思うのですが
どこで(foreach分の中でしょうか?)比較をしたら良いのかわかりません。
すみませんがよろしくお願いいたします。
No.3
- 回答日時:
こういう意味でしょうか。
<?php
function pickData($testlist,$key){
$ret=array();
foreach($testlist as $val){
if(substr($val, 0, 6)==$key) $ret[]=$val;
}
return $ret;
}
$testlist[]=20070401;
$testlist[]=20070502;
$testlist[]=20070503;
$testlist[]=20070604;
$int=pickData($testlist,200705);
print_r($int);
?>
この回答への補足
私の質問の仕方が悪かった事を大変深くお詫び申し上げます。
変数$testの値は、このページに遷移する前のページからtestidとして値を渡されており、このページ内の最上部にて
<?
$test= gettestById($_REQUEST["testid"]);
?>
として取得しております。
<?
$testlist = getTestList();
foreach ($testlist as $test) {
?>
で受け渡された$testを無視してforeachしているのは、
遷移前のページから受け渡された$testの$test["日付"]が含まれる月のデータのみを全て表示させたいからです。
No.4ベストアンサー
- 回答日時:
こんな感じでしょうか?
<?php
$list = array();
$list[] = array('テスト日付' => 20070524,
'テスト題名' => 'テスト1',
'テスト本文' => 'テスト本文1');
$list[] = array('テスト日付' => 20070321,
'テスト題名' => 'テスト2',
'テスト本文' => 'テスト本文2');
$list[] = array('テスト日付' => 20070517,
'テスト題名' => 'テスト3',
'テスト本文' => 'テスト本文3');
$targetDate = '20070504';
$listNew = array();
foreach ($list as $key => $data) {
$date = $data['テスト日付'];
if (substr($date, 0, 6) == substr($targetDate, 0, 6)) {
$listNew[$date . sprintf('_%04d', $key)] = $data;
}
}
ksort($listNew);
unset($list);
echo '<pre>'; print_r($listNew);
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) VScodeでpythonプログラムの関数を実行したい 2 2022/07/13 19:24
- 高校 物理共通テストです。漆原の面白いほどわかる本を3冊やって4割でした。リードαや良問の風などもあるので 1 2022/08/08 20:55
- 高校 高校の国語が苦手です( ; ; ) 7 2023/01/13 16:53
- 中学校 間違った国語の実力テストの勉強? 1 2022/08/28 15:59
- 高校受験 中3最後のテスト 今日中3最後の定期テストが終わりました。 テスト1か月前から夜12時まで勉強して朝 2 2022/11/17 13:05
- その他(プログラミング・Web制作) VB.NETの正規表現について 4 2022/04/12 16:54
- 大学受験 高校生ニ年生です。名古屋文理大学と名古屋文理大学短期大学部にを希望しているのですが、pdfファイルで 2 2022/12/07 18:15
- 英語 受験英語のリスニングの勉強法はどちらがいいでしょうか? ①読み終えた長文問題の長文の音声を聞く ②共 3 2022/05/04 00:13
- その他(学校・勉強) Japanese schools tests 1 2022/08/19 14:41
- 中学校受験 Japanese schools 1 2022/08/22 15:53
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
texに関する初歩的な質問
-
テスト仕様書作成方法
-
ショッピングカートを作るには?
-
BOXにカーソルを合わせると、BO...
-
A.B(C.D...)テストで使用するリ...
-
自作ゲームについて・・・
-
納品 vs ご納品 どちらが正し...
-
長さ0の文字列を格納できません...
-
グーグルの障害者訓練プログラ...
-
購入手続き後の値上げ
-
見積だけで契約成立?
-
インプットとアウトプット
-
三菱製PLC:ファイルレジスタ(...
-
営業職をやってます。先月発注...
-
Zと2とか紛らわしいのがあるか...
-
スーパー発注し始めて3週間たち...
-
「スポット受注」はどういう意...
-
Javaで家計簿を作成
-
VPNについて
-
敬語チェックお願いします!
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
texに関する初歩的な質問
-
P2P地震速報のEEW APIの仕様書...
-
VBからBeckyを使用したメール送...
-
JUnit結果出力をファイルに書き...
-
Excel-VBA コンテンツの作成日時
-
C#の単体テストでローカル変数...
-
C#単体テストで同クラス内の呼...
-
ホームページ・ビルダーで「e...
-
テスト仕様書作成って初心者(...
-
UNIX:テキストファイルのNULL...
-
Visial C++におけるプログラミング
-
テスト仕様書
-
AtomPubでlivedoorブログに記事...
-
仕様書に書かれていないこと
-
VB6 コードでメニュー作成
-
EXCEL_VBAでOracleにADO接続し...
-
Verilogの参考書のお勧めを教え...
-
ハノイ塔の非再帰について
-
納品の定義,システムの動作の常...
-
HWNDへの変換
おすすめ情報