Php 如何结合两种前肢´;s
嘿,我的剧本有点问题。。。 这是第一部分:Php 如何结合两种前肢´;s,php,foreach,Php,Foreach,嘿,我的剧本有点问题。。。 这是第一部分: $imagesPerLine = array(1=>2, 2=>3); $default = 4; $lines = array(1, 2, 3); foreach ($lines as $line) { if (!isset($imagesPerLine[$line])) { $imagesPerLine[$line] = $default; } echo "<tr>\n"; for ($i = 1;
$imagesPerLine = array(1=>2, 2=>3); $default = 4;
$lines = array(1, 2, 3);
foreach ($lines as $line) {
if (!isset($imagesPerLine[$line])) {
$imagesPerLine[$line] = $default;
}
echo "<tr>\n";
for ($i = 1; $i <= $imagesPerLine[$line]; $i++) {
echo "<td>[img]</td>\n";
}
echo "</tr>\n";
}
$imagesPerLine=array(1=>2,2=>3)$默认值=4;
$lines=数组(1,2,3);
foreach($line作为$line){
如果(!isset($imagesPerLine[$line])){
$imagesPerLine[$line]=$default;
}
回音“\n”;
对于($i=1;$i而言,问题是由于您在生成HTML时回显它,而不是将其构造为一个完整的字符串,然后再回显它。如果您执行以下操作,问题会变得容易得多:
$imagesPerLine = array(1=>2, 2=>3); $default = 4;
$lines = array(1, 2, 3);
$html="";
foreach ($lines as $line) {
if (!isset($imagesPerLine[$line])) {
$imagesPerLine[$line] = $default;
}
$html.= "<tr>";
for ($i = 1; $i <= $imagesPerLine[$line]; $i++) {
$html.=sprintf("<td>%s</td>",function_to_generate_image_detail($imagesPerLine[$line]));
}
$html.="</tr>";
}
echo $html;
在除法中使用数组作为分母。确实不明智。按照我的建议编写函数,你将成为一个快乐的小伙子
function getTransactionStatusImagePath($transactionId)
{
$states = array('schwarz', 'rot', 'blau');
$path = '';
foreach ($states as $state) {
$testPath = sprintf('transactions/Ordner%s/%s.png', $transactionId, $state);
if (file_exists($testPath)) {
$path = $testPath;
break;
}
}
return $path;
}
$transactionIds = range(1,9);
foreach ($transactionIds as $transactionId) :
if (($transactionId % $imagesPerLine) == 1)
echo "<tr>\n";
$path = getTransactionStatusImagePath($transactionId);
$imageHtml = ('' !== $path)
? '<img src="' . $path . '" />'
: '<img name="nummer.' . $transactionId . '" src="inventory_images/8.jpg" onclick="changecolor(this)" />' ;
echo "<td>$imageHtml</td>\n";
if (! ($transactionId % $imagesPerLine))
echo "</tr>\n";
endforeach;
<tr>
<td><img name="nummer.1" src="inventory_images/8.jpg" onclick="changecolor(this)" /></td>
<td><img name="nummer.1" src="inventory_images/8.jpg" onclick="changecolor(this)" /></td>
</tr>
<tr>
<td><img name="nummer.1" src="inventory_images/8.jpg" onclick="changecolor(this)" /></td>
<td><img name="nummer.1" src="inventory_images/8.jpg" onclick="changecolor(this)" /></td>
<td><img name="nummer.1" src="inventory_images/8.jpg" onclick="changecolor(this)" /></td>
</tr>
<tr>
<td><img name="nummer.1" src="inventory_images/8.jpg" onclick="changecolor(this)" /></td>
<td><img name="nummer.1" src="inventory_images/8.jpg" onclick="changecolor(this)" /></td>
<td><img name="nummer.1" src="inventory_images/8.jpg" onclick="changecolor(this)" /></td>
<td><img name="nummer.1" src="inventory_images/8.jpg" onclick="changecolor(this)" /></td>
</tr>
$imagesPerLine = array(1=>2, 2=>3); $default = 4;
$lines = array(1, 2, 3);
$html="";
foreach ($lines as $line) {
if (!isset($imagesPerLine[$line])) {
$imagesPerLine[$line] = $default;
}
$html.= "<tr>";
for ($i = 1; $i <= $imagesPerLine[$line]; $i++) {
$html.=sprintf("<td>%s</td>",function_to_generate_image_detail($imagesPerLine[$line]));
}
$html.="</tr>";
}
echo $html;
<img name="nummer.1" src="inventory_images/8.jpg" onclick="changecolor(this)" />
if (($transactionId % $imagesPerLine) == 1)