【问题标题】:How to re-index arrays? [duplicate]如何重新索引数组? [复制]
【发布时间】:2013-02-18 13:41:47
【问题描述】:

如何重新排列:

Array (
     [0] => tomato
     [2] => apple
     [3] => melon
     [4] => Cherry
     [7] => banana 
)

收件人:

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

?

【问题讨论】:

  • sort() 将重新索引您的数组,但也会重新排序/排序,这意味着 apple = 0、banana = 1 等。
  • 来自另一个答案:array_splice($array, 0, 0);

标签: php arrays


【解决方案1】:

试试array_values:

$newArray = array_values($oldArray);

【讨论】:

  • $oldArray = array_values($oldArray); 会工作吗?
  • 是的,它会的。我用$newArray 命名了结果以显示它是如何工作的。
【解决方案2】:

这个怎么样?

$new_array = array();
foreach($original_array as $val) { 
 $new_array[] = $val;
}

$new_array 将拥有正确的索引。

【讨论】:

  • 如果你把它复制回原来的数组,你就万事大吉了!
【解决方案3】:
$arr2 = array();
foreach($arr1 as $a) {
  $arr2[] = $a;
}

将值放入一个新的新数组中?

【讨论】:

    【解决方案4】:

    试试这个:

    $a =  array(0 => 'tomato', 2 => 'apple', 3 => 'melon', 4 => 'Cherry', 7 => 'banana');
    print_r($a);
    $a = array_values($a);
    print_r($a);
    

    【讨论】:

      【解决方案5】:

      只是不要为重新索引而烦恼。
      使用foreach 对其进行迭代

      【讨论】:

        猜你喜欢
        • 2011-11-25
        • 2010-12-01
        • 2021-12-22
        • 2012-06-28
        • 2012-05-18
        • 2020-08-17
        • 1970-01-01
        • 2017-09-13
        • 2012-12-21
        相关资源
        最近更新 更多