phpでオブジェクトから変数を用いたプロパティ呼び出し
以下のような処理を、for文を使ったものに書き換える方法です。
<?php
echo $model->text1;
echo $model->text2;
echo $model->text3;
echo $model->text4;
echo $model->text5;
困ったこと
詰まったとき、近くに質問できる人がいない場合、仮に ->
がアロー演算子だと分かっていても、オブジェクト
アロー演算子
変数
などとググっても、なかなか目当ての情報は出てきません…😭
結論
解決策を2つ見つけました。
シンプルにループする方法
<?php
$props = (array) $model;
ksort($props);
foreach($props as $key => $text) {
if (false !== strpos($key, 'text')) {
echo $text;
}
}
式展開を利用する方法
<?php
for ($i=1; $i<=5; $i++) {
echo $model->{"text{$i}"};
}