我有一个包含页面名称的数组,我想用php echo
列出这些名称,但不是全部。我只想要第二和第三,仅次于第一和第四...等等。
这是我的代码:
$pagename = [
1 => 'Homepage',
2 => 'Categories',
3 => 'Textures',
4 => 'Tutorials',
5 => 'Login',
6 => 'Join'
];
foreach($pagename as $list) {
array_slice($list, 1,-1);
echo "<h1>{$list}</h1>";
}
这给了我一个错误:
array_slice()期望参数1为数组,输入字符串。.
我想echo
“类别”,“纹理”,“教程”,“登录”,“加入”
你能帮我吗?
答案 0 :(得分:1)
只需删除此行array_slice($list, 1,-1);
,它将起作用
如果需要删除任何元素或选择特定的索引,则需要操作数组。
$startIndex = 2;
$endIndex = 5;
for($i = $startIndex; $i <= $endIndex; $i++) {
echo '<h1>';
echo $pagename[$i];
echo '</h1>';
}
或者,您可以像您的原始想法一样使用array_slice
foreach(array_slice($pagename, 1) as $list){
echo '<h1>';
echo $list;
echo '</h1>';
}
答案 1 :(得分:0)
您可以构建所需键的数组,然后循环该操作:
foreach(array(2, 3, 4) as $key){
echo '<h1>';
echo $pagename[$key];
echo '</h1>';
}
或者检查密钥:
foreach($pagename as $key => $list){
if(in_array($key, array(2, 3, 4)) {
echo '<h1>';
echo $list;
echo '</h1>';
}
}
或者您需要循环切片的数组:
foreach(array_slice($pagename, 1, -1) as $list){
echo '<h1>';
echo $list;
echo '</h1>';
}
前两个示例使您可以跳过项目并执行诸如1, 3, 5
等操作……