PHP中如何在foreach循环里动态生成对应格式的变量?
动态生成PHP变量的正确实现方式
你给出的代码存在字符串解析问题,单引号内的变量不会被PHP解析,所以无法生成预期的变量名。以下是两种正确的实现方式:
方式1:利用双引号解析变量
双引号包裹的字符串中,PHP会自动解析内部的变量,直接拼接即可生成目标变量名:
$formats = array('100x100', '200x200', '300x300'); foreach($formats as $format) { ${"html_$format"} = 'datas'; }
方式2:字符串拼接
通过字符串连接符.将固定前缀和变量值拼接,同样能生成正确的变量名:
$formats = array('100x100', '200x200', '300x300'); foreach($formats as $format) { ${'html_' . $format} = 'datas'; }
两种方式都会生成$html_100x100、$html_200x200、$html_300x300这三个变量,且值均为'datas'。
内容的提问来源于stack exchange,提问作者miami
相关产品推荐
相关产品推荐

