PHP / XHTML çıkış biçimlendirme hakkında soru

2 Cevap php

Int türü elemanları X sayısı ile Dizinlenmiş diziden PHP sadece baskı veya çıkış bir tablo içinde satır başına 10 öğeleri için bir yolu var mı.

Belki bazı fonksiyon, ben duymadım?

Yoksa hem profesyoneller veya yeni başlayanlar tarafından kullanılan bir teknikle.

Ben TR ve TD için bazı kod embed olacak; Ben sadece benim tablosunun içinde satır başına 10 unsurları var için kullanabileceğiniz bir şey varsa, ancak, ben sadece merak ediyordum.

[Yasal Uyarı:. PHP için yeni ve ben sadece teşekkür ederim, bir çözüm ya da bilgi bulmak için çalışıyor, bu yüzden gerçekten öğrenme sürecini engelleyen hiçbir flamers lütfen, öğreniyorum]

2 Cevap

Ben kullanarak gibi: foreach , array_chunk , and implode to do this. It's better than having to futz with incrementing variables. I suggest you review array temelleri - bu güçlü şeyler var.

// here's an array with integers 1 to 50, for example:
$your_array = range(1,50);

// set how many you want in each row
$per_row = 10;

print "<table cellspacing='0' cellpadding='2' border='1'>\n";

Here's the code you can drop in to replace what you have:

foreach (array_chunk($your_array, $per_row) as $set_of_numbers) {
    print "<tr><td>";
    print implode('</td><td>',$set_of_numbers);
    print "</td></tr>\n";
}

Ve ile bitirmek:

print "</table>\n";

Bu satıra 10 madde ile, size tarif çıktı, bir tablodaki tamsayılar kümesi almalısınız. 10 ile bölündüğünde $ your_array boyutu bir kalanı varsa Şimdi, ped görünüm için bu hücreleri gerekebilir, ancak ikincil bulunuyor.

Output:

<table cellspacing='0' cellpadding='2' border='1'>
<tr><td>1</td><td>2</td><td>3</td><td>4</td><td>5</td><td>6</td><td>7</td><td>8</td><td>9</td><td>10</td></tr>
<tr><td>11</td><td>12</td><td>13</td><td>14</td><td>15</td><td>16</td><td>17</td><td>18</td><td>19</td><td>20</td></tr>
<tr><td>21</td><td>22</td><td>23</td><td>24</td><td>25</td><td>26</td><td>27</td><td>28</td><td>29</td><td>30</td></tr>
<tr><td>31</td><td>32</td><td>33</td><td>34</td><td>35</td><td>36</td><td>37</td><td>38</td><td>39</td><td>40</td></tr>
<tr><td>41</td><td>42</td><td>43</td><td>44</td><td>45</td><td>46</td><td>47</td><td>48</td><td>49</td><td>50</td></tr>
</table>

Eğer geçerli satırda oluşturulan kaç <td> elemanları takip etmek için döngü bir sayaç kullanabilirsiniz:

echo "<tr>";
$i = 0;
foreach (...)
{
    if ($i++ % 10 == 0)
    {
        echo "</tr><tr>";
    }
    echo "<td></td>";
}
echo "</tr>";