我在while循环中动态创建一些变量名称:
while($count < $agendaItemsCount) {
$tr_mcs_agendaitem_[$count]_1 = get_post_meta( $post->ID, '_tr_mcs_agendaitem_' . $count . '_1', true );
++ $count
}
但是此代码导致意外的字符串解析错误。如何编写此代码,以便使用count变量输出以及var名称的其余部分声明新的var?
答案 0 :(得分:2)
所以你想创建像$tr_mcs_agendaitem_1_1
,$tr_mcs_agendaitem_2_1
等变量?
虽然我建议使用数组,但您可以执行以下操作:
$collection = array();
while($count < $agendaItemsCount) {
$collection['tr_mcs_agendaitem_'.$count.'_1'] =
get_post_meta( $post->ID, '_tr_mcs_agendaitem_' . $count . '_1', true );
++ $count;
}
extract($collection);
另一种解决方案是使用“variable variables”:
while($count < $agendaItemsCount) {
$varname = 'tr_mcs_agendaitem_'.$count.'_1';
$$varname = get_post_meta( $post->ID, '_tr_mcs_agendaitem_' . $count . '_1', true );
++ $count;
}