プロが教える店舗&オフィスのセキュリティ対策術

Wordpressを使ってWEBアプリ風のサイトを作っています。

固定ページを用いて、全投稿に埋め込まれているカスタムフィールド値を指定期間ごとに集計して表示させたいと思っています。

集計するための(メンバー)リストの抽出まではなんとか解決でき、次のような配列を出力することができました。

【配列名】$list
【配列詳細】
array(14) {
[0]=>
array(6) {
["num"]=>
string(4) "番号"
["name"]=>
string(15) "氏名"
["MMpt"]=>
int(0)
["MMpz"]=>
int(0)
}
~以下省略~
}

※データ数は、現状14行分になっています。
この配列データをもとに、別ループで取得した値に合わせて変更したいと思っています。

わからないなりに考えて次のようなコードを作ってみましたがうまくいきませんでした。

【テストコード】
while($list['num'] == "番号"):
$list['name'] = '姓名だよ';
$list['MMpt'] = $list['MMpt'] + 1;
$list['MMpz] = $list['MMpz'] + 1500;
endwhile;

もしかしたら、テストコードだと全14行分のループが無い?からかもしれませんが、スキル不足でどう対処してよいのか分かりません。

上記のテストコードをもとに、配列$listの配列内の値の変更方法を教えて頂けますでしょうか。
よろしくお願いいたします。

質問者からの補足コメント

  • うーん・・・

    折角教えていただいたのですが、思ったように動作してくれません。
    $list['num','name','MMpt','MMpz'];
    と出力させたいと思っているのですが、教えていただいた方法だと
    $list['num' , ['name','MMpt','MMpz'] ];
    になってしまいそうな気がします。

    No.1の回答に寄せられた補足コメントです。 補足日時:2022/08/09 11:00

A 回答 (1件)

// 番号を条件に配列に該当が有るか探す


$no = null;
foreach ($list as $k => $x) {
_ if ($x['num'] == 番号) {
_ _ $no = $k;
_ _ break;
_ }
}

// 有るなら配列を更新する
if (!is_null($no)) {
_ $list[$no]['MMpt'] += 1;
}
この回答への補足あり
    • good
    • 0
この回答へのお礼

折角教えていただいたのですが、思ったように動作してくれません。
$list['num','name','MMpt','MMpz'];
と出力させたいと思っているのですが、教えていただいた方法だと
$list['num' , ['name','MMpt','MMpz'] ];
になってしまいそうな気がします。

お礼日時:2022/08/09 11:02

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!