我想制作一个包含多个类别的项目的组合。 这是我的解决方案。
category1.php是5个不同类别页面之一...
<li ng-model="variable.{{s_price}}"><p><span class="voilet">Service Price :</span> ${{s_price}}</p></li>
category-overview.php:
<?php
$pageLabel = 'category1';
include 'category-overview.php';
?>
我重复每个类别的if语句。
最后使用数组multicats.php将项目排序为类别......
<?php
include 'multicats.php';
if ($pageLabel == 'category1') {
for ($i = 0; $i < count($category1); $i++) { ?>
<a href="<?php echo 'prjcts/' . $category1[$i] . '.php'?>"><img src="<?php echo 'thmbs/thumb-' . $category1[$i] . '.png';?>"/></a><?php
}
}
?>
它工作正常,但我不知道如何在数组中显示项目的所有大拇指并在index.php页面上链接到它们,因为回显所有数组中的所有值都是重复的。 / p>
有更好,更优雅的解决方案吗? 谢谢你的帮助!
答案 0 :(得分:1)
您可以使用多维数组:
<?php
//this is arbitrary
$cats['category1'] = array('prjct1', 'prjct2', 'prjct5', 'prjct8', 'prjct10', 'prjct11');
$cats['category2'] = array('prjct1', 'prjct5', 'prjct8', 'prjct9', 'prjct11', 'prjct10');
$cats['category3'] = array('prjct1', 'prjct4', 'prjct2', 'prjct9', 'prjct11', 'prjct5');
$cats['category4'] = array('prjct3', 'prjct7', 'prjct8', 'prjct9', 'prjct4', 'prjct');
$cats['category5'] = array('prjct5', 'prjct6', 'prjct3', 'prjct7', 'prjct9', 'prjct4');
?>
和:
include 'multicats.php';
if (isset($cats[$pageLabel])) {
$cat = $cats[$pageLabel];
for ($i = 0; $i < count($cat); $i++) { ?>
<a href="<?php echo 'prjcts/' . $cat[$i] . '.php'?>"><img src=" <?php echo 'thmbs/thumb-' . $cat[$i] . '.png';?>"/></a><?php
}
}
?>
答案 1 :(得分:0)
当然,使用array_map
将每个元素渲染到多维数组顶部的锚标记中(因此您不必为每个类别提供许多不同的变量)
$categories = array(
'category1' => array('prjct1', 'prjct2', 'prjct5', 'prjct8', 'prjct10', 'prjct11'),
'category2' => array('prjct1', 'prjct5', 'prjct8', 'prjct9', 'prjct11', 'prjct10'),
'category3' => array('prjct1', 'prjct4', 'prjct2', 'prjct9', 'prjct11', 'prjct5'),
'category4' => array('prjct3', 'prjct7', 'prjct8', 'prjct9', 'prjct4', 'prjct'),
'category5' => array('prjct5', 'prjct6', 'prjct3', 'prjct7', 'prjct9', 'prjct4')
);
function arrayToLinks($a) {
$return = array();
foreach($a as $link) {
$return[] = "<a href='prjcts/". $link .".php'><img src='thmbs/thumb-". $link .".png'>". $link ."</a>";
}
return implode(PHP_EOL, $return);
}
echo implode(PHP_EOL, array_map('arrayToLinks', $category1));