我需要创建一个逗号分隔的数字字符串。
我遇到的问题是,最终,我得到了所有数字的总和,而它应该是:
2, 10, 35, 56, 67', etc.
我在做什么:
$field_ids = '';
// begin while loop
<?php $field_ids = bp_get_the_profile_field_ids(); ?>
// end while loop
// begin while loop
<?php $field_ids += bp_get_the_profile_field_ids(); ?>
// end while loop
<input type="hidden" name="field_ids" id="field_ids" value="<?php echo $field_ids; ?>">
我怎么能得到这个:
<input type="hidden" name="field_ids" id="field_ids" value="2, 10, 35, 56, 67">
而不是这个:
<input type="hidden" name="field_ids" id="field_ids" value="170">
是的,您可以将它们收集为一个数组,然后使用implode()
来执行此操作:
$field_ids = array(); // initialize as array
while(...) { // begin while loop block
$field_ids[] = bp_get_the_profile_field_ids(); // push it inside
} // end while loop block
$field_ids = implode(', ', $field_ids); // implode/glue those ids by comma
<input type="hidden" name="field_ids" id="field_ids" value="<?php echo $field_ids; ?>">
通过使用+=
,您可以不断地将它们相加,直到循环结束,得到求和结果。
不要使用此运算符+=
使用此:.=
因此,取而代之的是:
<?php $field_ids += bp_get_the_profile_field_ids(); ?>
写下:
<?php $field_ids .= bp_get_the_profile_field_ids(); . ", " ?>