首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >PHP:基本数组切片情况

PHP:基本数组切片情况
EN

Stack Overflow用户
提问于 2018-08-18 03:35:20
回答 2查看 382关注 0票数 0

我有一个包含页面名称的数组,我想用php echo列出这些名称,但不是全部。我只想要第二和第三,在第一和第四之后...等。

下面是我的代码:

代码语言:javascript
复制
$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‘类别’,‘纹理’,‘教程’,‘登录’,‘加入’。

你能帮帮我吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-08-18 03:38:44

只需删除这一行array_slice($list, 1,-1);,它就可以工作了

如果需要删除任何元素或选择特定的索引,则需要操作数组。

代码语言:javascript
复制
$startIndex = 2;
$endIndex = 5;
for($i = $startIndex; $i <= $endIndex; $i++) {
    echo '<h1>';
    echo $pagename[$i];
    echo '</h1>';
}

或者,您也可以像最初的想法一样使用array_slice

代码语言:javascript
复制
foreach(array_slice($pagename, 1) as $list){
    echo '<h1>';
    echo $list;
    echo '</h1>';
}
票数 1
EN

Stack Overflow用户

发布于 2018-08-18 03:49:21

您可以构建一个包含所需键的数组,然后循环执行:

代码语言:javascript
复制
foreach(array(2, 3, 4) as $key){
    echo '<h1>';
    echo $pagename[$key];
    echo '</h1>';
}

或者检查密钥:

代码语言:javascript
复制
foreach($pagename as $key => $list){
    if(in_array($key, array(2, 3, 4)) {
        echo '<h1>';
        echo $list;
        echo '</h1>';
    }
}

否则,您将需要对切片数组进行循环:

代码语言:javascript
复制
foreach(array_slice($pagename, 1, -1) as $list){
    echo '<h1>';
    echo $list;
    echo '</h1>';
}

前两个示例允许您跳过项目并执行1, 3, 5等操作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51901856

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档