我想到了一个while循环,但无法找到解决方法:
$foo1 = get_post_meta( $post->ID, '_item1', true );
if (!empty($foo1)){
echo ("<div class='$foo1'></div>");
}
$foo2 = get_post_meta( $post->ID, '_item2', true );
if (!empty($foo2)){
echo ("<div class='$foo2'></div>");
}
依此类推......一百次,直到达到$ foo100和_item100 有没有想过要实现这一点,不要一遍又一遍地重复这四行?
答案 0 :(得分:2)
您不需要variable variables,只需要for
这样的循环:
for( $i=1; $i<101; $i++ ) {
$klass = get_post_meta( $post->ID, '_item' . $i, true );
if( !empty($klass) ) {
echo "<div class='$klass'></div>";
}
}
只要您稍后不需要$fooX
变量,此功能就可以使用。如果需要它们,则必须使用提到的变量变量或数组来收集所有值。
答案 1 :(得分:1)
你正在考虑while
循环
您可以使用:
$counter = 1;
while ($counter< 100) // or whatever limit you have
{
$foo = get_post_meta( $post->ID, '_item' . $counter , true );
if (!empty($foo)){
echo ("<div class='$foo' . $counter .' ></div>");
}
$counter++;
}
如果复制此代码,由于字符串连接,您可能会遇到一些编译错误。
基本上你需要将“_item”字符串与你当前的$ counter连接起来。
Here是一些字符串连接示例。
如果您有任何疑问,请与我们联系。