改变php数组key值的方法

我用print_r($this->SplitTitles);打印出的值为:Array([1]=>第一个标题第一个标题[2]=>第二个标题第二个标题[3]=>第三个标题第三... 我用print_r($this->SplitTitles);打印出的值为:
Array ( [1] => 第一个标题第一个标题 [2] => 第二个标题第二个标题 [3] => 第三个标题第三个标题 )
如何将KEY值加1改变成为:
Array ( [2] => 第一个标题第一个标题 [3] => 第二个标题第二个标题 [4] => 第三个标题第三个标题 )
求解?
展开
 我来答
nbyh2012
推荐于2017-11-25 · TA获得超过3278个赞
知道小有建树答主
回答量:483
采纳率:100%
帮助的人:789万
展开全部

有个方法可以不使用循环,代码如下

<?php
$arr = array(1=>'one',2=>'two',3=>'three');
$keys = range(2, 4);
$arr = array_combine($keys, array_values($arr));

 其中,range生成指定范围的数组,array_combine将键和值组合,形成新数组。

实际应用中,请结合原数组长度使用。


使用循环请这样做

<?php
$arr = array(1=>'one',2=>'two',3=>'three');
for ($i = count($arr)+1; $i > 1; --$i) {
    $arr[$i] = $arr[$i-1];
}
unset($arr[$i]);


您的采纳就是我的动力!

百度网友a19d193
2013-07-02 · TA获得超过3446个赞
知道大有可为答主
回答量:1464
采纳率:100%
帮助的人:1416万
展开全部

print_r方法一般只是用来测试,不会使用它作为最终输出的,对不对?

因此你可以在正式的循环输出中动态设置key就行了,比如

<?php foreach($this->SplitTitles as $key => $title):?>
<div><lable><?php echo $key + 1?></lable><strong><?php echo $title?></strong></div>
<?php endforeach;?>

你觉得呢?

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
次浦毛奇略
2019-07-23 · TA获得超过3931个赞
知道大有可为答主
回答量:3099
采纳率:24%
帮助的人:214万
展开全部
有个方法可以不使用循环,代码如下
1234<?php$arr = array(1=>'one',2=>'two',3=>'three');$keys = range(2, 4);$arr = array_combine($keys, array_values($arr));
其中,range生成指定范围的数组,array_combine将键和值组合,形成新数组。
实际应用中,请结合原数组长度使用。
使用循环请这样做
123456<?php$arr = array(1=>'one',2=>'two',3=>'three');for ($i = count($arr)+1; $i > 1; --$i) { $arr[$i] = $arr[$i-1];}unset($arr[$i]);
您的采纳就是我的动力!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
霜博包瀚昂
2019-01-11 · TA获得超过3816个赞
知道大有可为答主
回答量:3115
采纳率:28%
帮助的人:209万
展开全部
有个方法可以不使用循环,代码如下
1234<?php$arr = array(1=>'one',2=>'two',3=>'three');$keys = range(2, 4);$arr = array_combine($keys, array_values($arr));
其中,range生成指定范围的数组,array_combine将键和值组合,形成新数组。
实际应用中,请结合原数组长度使用。
使用循环请这样做
123456<?php$arr = array(1=>'one',2=>'two',3=>'three');for ($i = count($arr)+1; $i > 1; --$i) { $arr[$i] = $arr[$i-1];}unset($arr[$i]);
您的采纳就是我的动力!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-07-02
展开全部
这个可以用forearch循环.然后根据你的要求重新生成新的数组2
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式