如何在没有第一张图像的情况下获得<div class="hotspot-sidebar">
到每秒图像(奇数)。第一张图片应该是<div class="hotspot">
。
我的代码:
<?php
$files = glob("pages/low/*.*");
for ($i=0; $i<count($files); $i++) {
$image = $files[$i];
$firstsite = $files[0];
if($i % 2 == 0) {
$echo = true;
echo '<div class="hotspot-sidebar">';
if($image == $firstsite) {
echo '<div class="hotspot">';
}
}
$supported_file = array (
'gif',
'jpg',
'jpeg',
'png'
);
$ext = strtolower(pathinfo($image, PATHINFO_EXTENSION));
if (in_array($ext, $supported_file)) {
echo '<img src="'.$image .'"/>'."<br /><br />";
}
}
?>
谢谢你的帮助
答案 0 :(得分:1)
从$ i = 1开始为() for( $ i = 1 ; $ i
答案 1 :(得分:1)
您的代码存在一些问题,
首先,你要问的是(奇数元素),尽管你要检查偶数元素
if($i % 2 == 0)
第二件事你总是回复echo '<div class="hotspot-sidebar">';
,所以即使你的第一行你也会打印出这个html标签,
我使用foreach
循环对您的代码进行了重新分解,在此上下文中维护起来更容易,更易读。
感谢nikos.svnk注意重要提示
foreach ($files as $i => $image) {
if($i > 0) {
if($i % 2 != 0) {
echo '<div class="hotspot-sidebar">';
}
} else {
echo '<div class="hotspot">';
}
$supported_file = array (
'gif',
'jpg',
'jpeg',
'png'
);
$ext = strtolower(pathinfo($image, PATHINFO_EXTENSION));
if (in_array($ext, $supported_file)) {
echo '<img src="'.$image .'"/>'."<br /><br />";
}
}
答案 2 :(得分:1)
我用switch case解决了我的问题:
这里是我的代码:
<?php
function isEven($pageNumber) {
$isEven = $pageNumber % 2 == 0;
return $isEven;
}
$files = glob("pages/low/*.jpg");
for($i=0; $i < count($files); $i++) {
$image = $files[$i];
echo
'<div class="page">',
'<img class="show-modal" src="'.$image .'"/>';
switch ($i):
case isEven($i):
echo
'<div class="hotspot-sidebar">',
'<div class="goto TShirts-sidebar"></div>',
'<div class="goto Polos-sidebar"></div>',
'<div class="goto Sweats-sidebar"></div>',
'<div class="goto Sports_Outdoor-sidebar"></div>',
'<div class="goto Tradition-sidebar"></div>',
'<div class="goto Fleece-sidebar"></div>',
'<div class="goto Jackets_Vests-sidebar"></div>',
'<div class="goto Shirts_Business_Trousers-sidebar"></div>',
'<div class="goto Workwear_Safety-sidebar"></div>',
'<div class="goto Underwear_Baby_Towels-sidebar"></div>',
'<div class="goto Caps_Hats-sidebar"></div>',
'<div class="goto Bags_Umbrellas_Accessories-sidebar"></div>',
'</div>';
break;
case 0:
echo
'<div class="hotspot">',
'<div class="goto TShirts-sidebar"></div>',
'<div class="goto Polos-sidebar"></div>',
'<div class="goto Sweats-sidebar"></div>',
'<div class="goto Sports_Outdoor-sidebar"></div>',
'<div class="goto Tradition-sidebar"></div>',
'<div class="goto Fleece-sidebar"></div>',
'<div class="goto Jackets_Vests-sidebar"></div>',
'<div class="goto Shirts_Business_Trousers-sidebar"></div>',
'<div class="goto Workwear_Safety-sidebar"></div>',
'<div class="goto Underwear_Baby_Towels-sidebar"></div>',
'<div class="goto Caps_Hats-sidebar"></div>',
'<div class="goto Bags_Umbrellas_Accessories-sidebar">',
'</div>';
break;
endswitch;
echo
'</div>';
?>
答案 3 :(得分:0)
只需通过$ i == 0检查第一张图片,然后像这样分开处理:
$files = glob("pages/low/*.*");
$output='';
for ($i=0; $i<count($files); $i++) {
if($i==0){
//add hotpsot
$output.='<div class="hotspot">';
}
$image = $files[$i];
$firstsite = $files[0];
if($i % 2 == 0 && $i>0) {
$output.= '<div class="hotspot-sidebar">';
}
$supported_file = array (
'gif',
'jpg',
'jpeg',
'png'
);
$ext = strtolower(pathinfo($image, PATHINFO_EXTENSION));
if (in_array($ext, $supported_file)) {
$output.='<img src="'.$image .'"/>'."<br /><br /></div>";
}
}
echo $output;