我有一个包含页面名称的数组,我想用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
‘类别’,‘纹理’,‘教程’,‘登录’,‘加入’。
你能帮帮我吗?
发布于 2018-08-18 03:38:44
只需删除这一行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>';
}
发布于 2018-08-18 03:49:21
您可以构建一个包含所需键的数组,然后循环执行:
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
等操作。
https://stackoverflow.com/questions/51901856
复制相似问题