簡體   English   中英

php在循環中增加變量的名稱

[英]php Increment name of variable in a loop

我想到了一個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的任何想法實現這一點,不要一遍又一遍地重復這4行?

你不需要變量變量 ,但只需要像這樣的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變量,這就可以工作。 如果需要它們,則必須使用提到的變量變量或數組來收集所有值。

你在一段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連接起來。

是一些字符串連接示例。

如果您有任何疑問,請告訴我。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM