为了账号安全,请及时绑定邮箱和手机立即绑定

如何在PHP中重新索引数组?

如何在PHP中重新索引数组?

PHP
阿晨1998 2019-06-13 17:42:13
如何在PHP中重新索引数组?我有以下数组,我想重新编制索引,这样键就反转了(最好从1开始):当前数组(编辑:数组实际上如下所示:Array ([2] => Object     (         [title] => Section         [linked] => 1     )[1] => Object     (         [title] => Sub-Section         [linked] => 1     )[0] => Object     (         [title] => Sub-Sub-Section         [linked] =>      ))应如何:Array ([1] => Object     (         [title] => Section         [linked] => 1     )[2] => Object     (         [title] => Sub-Section         [linked] => 1     )[3] => Object     (         [title] => Sub-Sub-Section         [linked] =>      ))
查看完整描述

3 回答

?
开满天机

TA贡献1786条经验 获得超13个赞

如果希望重新索引为零,只需执行以下操作:

$iZero = array_values($arr);

如果需要从一个地方开始,请使用以下方法:

$iOne = array_combine(range(1, count($arr)), array_values($arr));

以下是使用的函数的手册页:


查看完整回答
反对 回复 2019-06-13
?
森林海

TA贡献2011条经验 获得超2个赞

这里是最好的方法:

# Array$array = array('tomato', '', 'apple', 'melon', 'cherry', '', '', 'banana');

返回

Array(
    [0] => tomato    [1] => 
    [2] => apple    [3] => melon    [4] => cherry    [5] => 
    [6] => 
    [7] => banana)

通过这样做

$array = array_values(array_filter($array));

你明白了

Array(
    [0] => tomato    [1] => apple    [2] => melon    [3] => cherry    [4] => banana)

解释

array_values():返回输入数组和索引的数值。

array_filter():使用用户定义的函数(Udf)过滤数组的元素。如果没有提供输入表中所有值为false的条目都将被删除。.)


查看完整回答
反对 回复 2019-06-13
?
慕运维8079593

TA贡献1876条经验 获得超5个赞

为什么要重新编制索引?只需将1添加到索引中:

foreach ($array as $key => $val) {
    echo $key + 1, '<br>';}

编辑在问题被澄清之后:您可以使用array_values若要从0开始重置索引,请执行以下操作。然后,如果只希望打印元素从1开始,则可以使用上面的算法。


查看完整回答
反对 回复 2019-06-13
  • 3 回答
  • 0 关注
  • 2392 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信