Foreach循环,包含大量的vars

我在数据库中有一堆文本,由“ grp”标识,我如何将每个文本绑定到“ example:


if($grp->$grp === '1') {

---> $text+$grp->$grp <--- = $grp->text

}

是否可以执行foreach和while循环,将文本绑定到每个“ text1,text2等”?


我已经尝试过这种方式


foreach ($getgrouptxt as $grp) {

 $grpnr = $grp->grp;

  while ($grpnr < '63') {

   $text+$grpnr = $grp->text;}

}

}

所以基本上从数组中获取文本,使用foreach循环遍历每个人


我希望它每次击中一个数字直到到达62时,都将文本var($ text“ number”)设置为$ grp-text


米脂
浏览 150回答 1
1回答

catspeake

+用于数字加法您打算将数字附加到字符串上,但是您使用的是数字加法运算符(+)而不是字符串串联运算符(.)。所以,而不是$text+$grpnr你需要$text.$grpnr如果要分配一个值,将保留该值的变量位于分配的左侧如果要存储$text.$grpnr到中$grp->text,则需要反转分配:$grp->text = $text.$grpnr;如果要使用动态变量名,请在其周围使用{}如果$text.$grpnr应该是变量名,并且打算将其存储$grp->text在变量名中,则:{$text.$grpnr} = $grp->text;但是,这在PHP 5中将不起作用。当心比较数字作为字符串'7'<'63'是false,因为PHP将进行文本比较,并且字母中的'7'在'6'后面。如果要使用数字比较,$grpnr则将其与63进行比较,如果是文本,则将其转换为数字类型。建议根据我对您问题的最佳理解,您需要foreach ($getgrouptxt as $grp) {&nbsp; &nbsp; $grpnr = $grp->grp;&nbsp; &nbsp; while (((int)$grpnr) < 63) {&nbsp; &nbsp; &nbsp; &nbsp; $grp->text = $text.$grpnr;&nbsp; &nbsp; }}
打开App,查看更多内容
随时随地看视频慕课网APP