Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP循环问题_Php_Loops - Fatal编程技术网

PHP循环问题

PHP循环问题,php,loops,Php,Loops,在我的网站上,我有数百行代码,如下所示: <a href="highslide/images/large/08/02IMG_0012.jpg" class="highslide" onclick="return hs.expand(this, config1 )"> </a> <a href="highslide/images/large/08/03IMG_0020.jpg" class="highslide"

在我的网站上,我有数百行代码,如下所示:

<a href="highslide/images/large/08/02IMG_0012.jpg" class="highslide" 
            onclick="return hs.expand(this, config1 )">
    </a>
    <a href="highslide/images/large/08/03IMG_0020.jpg" class="highslide" 
            onclick="return hs.expand(this, config1 )">
    </a>
    <a href="highslide/images/large/08/04IMG_0019.jpg" class="highslide" 
            onclick="return hs.expand(this, config1 )">
    </a>
    <a href="highslide/images/large/08/05IMG_0011.jpg" class="highslide" 
            onclick="return hs.expand(this, config1 )">
    </a>

我想知道是否可以使用PHP来节省这么多代码行。使用批重命名器将照片文件名更改为photo1.jpg、photo2.jpg等将很容易。我只是不确定如何实现PHP,因为我有点不懂。到目前为止,我得到了这样的结果:

$photo = 1;
$ext = .jpg;

while() {

echo '<a href="highslide/images/large/08/'.$photo.$ext.'" class="highslide" onclick="return hs.expand(this, config1 )">';

$photo++

}
$photo=1;
$ext=.jpg;
while(){
回声';
$photo++
}

您就快到了,只需在while循环中添加一个退出条件。 循环何时结束?当它打印了所有的照片。因此,只需添加一个包含照片数量的变量,并签入while条件:

$photo = 1;
$ext = '.jpg';
$numberOfPhotos = 100;

while($photo <= $numberOfPhotos) {

    echo '<a href="highslide/images/large/08/'.$photo.$ext.'" class="highslide" onclick="return hs.expand(this, config1 )">';

    $photo++;

}
$photo=1;
$ext='.jpg';
$numberOfPhotos=100;

虽然($photo您就快到了,但是您只需要在while循环中添加一个退出条件。 当循环必须结束时?当它已打印所有照片时。因此,只需添加一个包含照片数量的变量,并检查while条件:

$photo = 1;
$ext = '.jpg';
$numberOfPhotos = 100;

while($photo <= $numberOfPhotos) {

    echo '<a href="highslide/images/large/08/'.$photo.$ext.'" class="highslide" onclick="return hs.expand(this, config1 )">';

    $photo++;

}
$photo=1;
$ext='.jpg';
$numberOfPhotos=100;

而($photo高度缩写的代码:

$pics = array("001","002",etc..);

foreach ($pics as $pic)
{
  echo '<a...' . $pic . '..>';
}
$pics=数组(“001”、“002”等);
foreach($pics作为$pic)
{
回声';
}

这应该说明所涉及的原则;根据您的需要进行调整。

高度缩写的代码:

$pics = array("001","002",etc..);

foreach ($pics as $pic)
{
  echo '<a...' . $pic . '..>';
}
$pics=数组(“001”、“002”等);
foreach($pics作为$pic)
{
回声';
}
这应该说明所涉及的原理;根据您的需要调整它。

尽管“while”循环可以做到这一点,“for”循环更适合于顺序迭代

$photoCount = 10;
$ext = .jpg;

for ($i = 1; $i <= $photoCount; $i++) {
    echo '<a href="highslide/images/large/08/'.$i.$ext.'" class="highslide" onclick="return hs.expand(this, config1 )">';
}
$photoCount=10;
$ext=.jpg;
for($i=1;$i虽然“while”循环可以做到这一点,“for”循环更适合于顺序迭代

$photoCount = 10;
$ext = .jpg;

for ($i = 1; $i <= $photoCount; $i++) {
    echo '<a href="highslide/images/large/08/'.$i.$ext.'" class="highslide" onclick="return hs.expand(this, config1 )">';
}
$photoCount=10;
$ext=.jpg;

对于($i=1;$i您使用的结构几乎是正确的。您只需添加一种方法来停止您使用的while()循环。while循环将循环,直到括号内的条件为false。
就像Davide那样。他使用了一个最大数来停止循环。

您使用的结构几乎正确。您只需添加一种方法来停止您使用的while()循环。while循环将循环,直到括号内的条件为false。
<?php

$total_photo = 20; // set total number of photo
$photo_url = "highslide/images/large/08/photo"; // set the default photo url
$photo_ext = ".jpg";

for($i = 1; $i <= $total_photo; $i++):
?>

<a href="<?php echo $photo_url . $i . $photo_ext; ?>" class="highslide" onclick="return hs.expand(this, config1 )">
Photo <?php echo $i; ?>
</a>

<?php endfor; ?>
就像戴维德那样。他使用了一个最大值来停止循环。


<?php

$total_photo = 20; // set total number of photo
$photo_url = "highslide/images/large/08/photo"; // set the default photo url
$photo_ext = ".jpg";

for($i = 1; $i <= $total_photo; $i++):
?>

<a href="<?php echo $photo_url . $i . $photo_ext; ?>" class="highslide" onclick="return hs.expand(this, config1 )">
Photo <?php echo $i; ?>
</a>

<?php endfor; ?>
如果您只是将php代码内联到html中,这样它的可读性更好



如果您只是将php代码内联到html中,这样它的可读性更好

您是对的,我只是复制了问题代码而没有检查:)您是对的,我只是复制了问题代码而没有检查:)这可能是更好的解决方案。这可能是更好的解决方案。这里的答案是正确的,但还有另一种方法:循环遍历存储图像的目录的内容。(请参阅:)。这种方法可以避免您每次上载图像时都必须编辑PHP文件,并且可以处理任意文件名。这里的答案是正确的,但还有另一种方法:通过存储图像的目录的内容进行循环。(请参阅:)。这种方法可以避免每次上载图像时都必须编辑PHP文件,并且可以处理任意文件名。