我是新来的PHP和一般网页开发(第一大项目)。我主要解决了这个问题,但我认为他们的方式我做到了效率不高(不聪明),但仍然没有妥善解决,这就是为什么我想知道您的意见。以高效的方式填充矩阵
我有语言(student_language)的阵列。在每种语言中,我们都有一个名字的字符串和4个整数(用这种语言的技能的标点符号)。 我将这些信息转换为PDF格式,并创建了一个HTML表格来呈现那里的语言。 所以,我必须用我的数组填充它。在这里,我有我的问题:
- 首先,我想我使用了很多变量:你看到一种方式有更少的?
- 第二,如您在下面的代码中看到的,“Andere(Others)”类别中有多种语言。所以,如果此类别中有多种语言,我想添加另一行。任何提示?
代码:提前
foreach ($student_language as $sl){
//Dutch
if ($sl['StudentLanguage']['language_id'] == '5'){
$ned_listening=$sl['StudentLanguage']['listening'];
$ned_spoken=$sl['StudentLanguage']['speaking'];
$ned_reading=$sl['StudentLanguage']['reading'];
$ned_written=$sl['StudentLanguage']['written'];
}
//French
if ($sl['StudentLanguage']['language_id'] == '2'){
$fre_listening=$sl['StudentLanguage']['listening'];
$fre_spoken=$sl['StudentLanguage']['speaking'];
$fre_reading=$sl['StudentLanguage']['reading'];
$fre_written=$sl['StudentLanguage']['written'];
}
//English
if ($sl['StudentLanguage']['language_id'] == '1'){
$eng_listening=$sl['StudentLanguage']['listening'];
$eng_spoken=$sl['StudentLanguage']['speaking'];
$eng_reading=$sl['StudentLanguage']['reading'];
$eng_written=$sl['StudentLanguage']['written'];
}
//Flemish
if ($sl['StudentLanguage']['language_id'] == '5'){
$fle_listening=$sl['StudentLanguage']['listening'];
$fle_spoken=$sl['StudentLanguage']['speaking'];
$fle_reading=$sl['StudentLanguage']['reading'];
$fle_written=$sl['StudentLanguage']['written'];
}
//Others : German, Polish, Greek, Portuguese, Russian, Italian , Spanish
if ($sl['StudentLanguage']['language_id'] == '6' || '7' || '8' || '9' || '10' || '11' || '12'){
$oth_listening=$sl['StudentLanguage']['listening'];
$oth_spoken=$sl['StudentLanguage']['speaking'];
$oth_reading=$sl['StudentLanguage']['reading'];
$oth_written=$sl['StudentLanguage']['written'];
}
}
$talenkennis= <<<EOD
<br />
<br />
<br />
<table border="1" align="center">
<tr>
<th></th>
<th>Begrijpen</th>
<th>Spreken</th>
<th>Lezen</th>
<th>Schrijven</th>
</tr>
<tr>
<td>Nederlands</td>
<td>$ned_listening</td>
<td>$ned_spoken</td>
<td>$ned_reading</td>
<td>$ned_written</td>
</tr>
<tr>
<td>Frans</td>
<td>$fre_listening</td>
<td>$fre_spoken</td>
<td>$fre_reading</td>
<td>$fre_written</td>
</tr>
<tr>
<td>Engels</td>
<td>$eng_listening</td>
<td>$eng_spoken</td>
<td>$eng_reading</td>
<td>$eng_written</td>
</tr>
<tr>
<td>Duits</td>
<td>$fle_listening</td>
<td>$fle_spoken</td>
<td>$fle_reading</td>
<td>$fle_written</td>
</tr>
<tr>
<td>Andere</td>
<td>$oth_listening</td>
<td>$oth_spoken</td>
<td>$oth_reading</td>
<td>$oth_written</td>
</tr>
<tr>
(Noties = 1 , Voldoende = 2 , Grondig = 3 , Moedertaal = 4) <br />
</tr>
</table>
EOD;
$pdf->writeHTML($talenkennis, true, false, false, false, '');
谢谢!
Alf。
从哪里开始... – dqhendricks 2011-03-14 20:58:06