在循环变量的PHP增量名称(php Increment name of variable in a

2019-10-18 04:46发布

我想了一会儿循环,但不能找到解决这个问题的办法:

$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任何想法来实现这不是一遍又一遍地重复这些4线?

Answer 1:

你不需要变量变量为,但只是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后来的变量。 如果需要的话,你就必须为使用上述变量的变量或数组收集所有的值。



Answer 2:

你在想好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”串与您当前的$计数器。

下面是一些字符串连接的例子。

让我知道如果您有任何问题。



文章来源: php Increment name of variable in a loop