2016-11-25 21 views
5

मुझे एक टेबल के अंदर लूप के लिए एक हीरा के आकार का तारांकन बनाना है। तारों से पहले और बाद में इसे "खाली" <td> रिक्त स्थान होना चाहिए और इसे केंद्रित करना चाहिए, इसलिए यह हीरा जैसा दिखता है। मैं उसको कैसे करू? <tr> और <td> टैग के बिना (मैं एक HTML कोड अंदर पीएचपी का इस्तेमाल किया।)एक टेबल के अंदर डायमंड पैटर्न/आकार (तारांकन) कैसे करें? (एचटीएमएल + पीएचपी)

संहिता, यह एक हीरे की तरह लग रहा था क्योंकि यह था केंद्र गठबंधन:

<center> 
<?php 
echo "<table border = 1>"; 

    // loop for the pyramid 

     for($i = 1; $i <= 10; $i += 2) { 
      for($j = 1; $j <= $i; $j++) { 
       echo "* "; 
      } 
     echo "<br />"; 
     } 

    // loop for the inverted pyramid, so it looks like a diamond 

    for($i = 7; $i >= 1; $i -= 2) { 
     for($j = 1; $j <= $i; $j++) { 
      echo "* "; 
     } 
    echo "<br />"; 
    } 

echo "</table>"; 
?> 
</center> 

कोड <tr> और <td> टैग के साथ, की जरूरत है " रिक्त स्थान "के लिए इसके केंद्र की तरह दिखने के लिए:

<?php 
echo "<table border = 1>"; 

    // loop for the pyramid 

    echo "<tr>"; 
      for($i = 1; $i <= 10; $i += 2) { 
      echo "<tr>"; 
       for($j = 1; $j <= $i; $j++) { 
        echo "<td>* </td>"; 
       } 
      echo "</tr>"; 
     } 
    echo "</tr>"; 

    // loop for the inverted pyramid, so it looks like a diamond 

    for($i = 7; $i >= 1; $i -= 2) { 
    echo "<tr>"; 
     for($j = 1; $j <= $i; $j++) { 
      echo "<td>* </td>"; 
     } 
    echo "<br />"; 
    echo "</tr>"; 
    } 

echo "</table>"; 
?> 

कृपया मदद करें!

उत्तर

4

यहां आपके समाधान के साथ नया कोड है। मैंने रिक्त टीडी आगे और पिछड़े *

<?php 
echo "<table border = 1>"; 

    // loop for the pyramid 

    echo "<tr>"; 
    $max = $initAmount = 10; 
      for($i = 1; $i <= $initAmount; $i += 2) { 
       $max = $max -2; 

        $halfTD = (int)$max/2; 
      echo "<tr>"; 
      for($b = 1; $b <= $halfTD; $b++){ 
         echo "<td></td>"; 
        } 
       for($j = 1; $j <= $i; $j++) { 


        echo "<td>* </td>"; 
       } 
       for($b = 1; $b <= $halfTD; $b++){ 
         echo "<td></td>"; 
        } 
      echo "</tr>"; 
     } 
    echo "</tr>"; 

    // loop for the inverted pyramid, so it looks like a diamond 
$max = $initAmount = 10; 
    for($i = 7; $i >= 1; $i -= 2) { 
     $max = $max -2; 
     $diff = $initAmount - $max; 
     $blankTd = $diff/2; 

    echo "<tr>"; 
     for($b = 1 ; $b <= $blankTd; $b++){ 
      echo "<td></td>"; 
     } 
     for($j = 1; $j <= $i; $j++) { 
      echo "<td>* </td>"; 
     } 
     for($b = 1 ; $b <= $blankTd; $b++){ 
      echo "<td></td>"; 
     } 
    echo "</tr>"; 
    } 

echo "</table>"; 
?> 
+0

पर बहुत अधिक धन्यवाद देने के लिए तर्क जोड़ा है! इससे बहुत मदद मिली। ये बहुत अच्छा दिखता है! मैं यह भी पूछना चाहता हूं कि आपने चर और तर्क कैसे बनाया? आप उसके साथ कैसे आए? =) मैं आपके समाधान के बारे में और जानना चाहता हूं। =) – Kenny

+0

आपका स्वागत है, तर्क के बारे में अच्छी तरह से, मैंने स्क्रिप्ट द्वारा उत्पादित एचटीएमएल में कुछ विश्लेषण किया है और गणना की है कि हमें कितनी रिक्त टीडी चाहिए। और 10 जैसे आपके पूर्णांक मानों और आपके वृद्धिशील मानों के आधार पर 2 जैसे मैंने कुल रिक्त टीडी की गणना की है। और मैंने इसे 2 से विभाजित कर दिया है क्योंकि हमें आधा खाली खाली टीडी आगे * और आधे खाली खाली टीडी * के बाद रखना होगा। और आपके रिवर्स पिरामिड – kevin

+0

के लिए एक ही रिवर्स यह वास्तव में सहायक है। आपका बहुत बहुत धन्यवाद! – Kenny

संबंधित मुद्दे