2014-02-10 5 views
1

У меня есть массив как это:Как переиндексировать массив в php?

array(3) { 
    [0]=> 
    array(1) { 
    [9802]=> 
    array(1) { 
     [7346]=> 
     array(6) { 
     ... 
     } 
    } 
    } 
    [2]=> 
    array(1) { 
    [12302]=> 
    array(1) { 
     [2013]=> 
     array(6) { 
     ... 
     } 
    } 
    } 
    [3]=> 
    array(1) { 
    [9041]=> 
    array(1) { 
     [7346]=> 
     array(6) { 
     ... 
     } 
    } 
    } 
} 

Как я мог изменить показатели первого уровня (только первый уровень, ничего не рекурсивный), так что индексы [0], [1], [2] вместо [0], [2], [3], но остаются в порядке?

ответ

4

Использование array_values:

$arr = array_values($arr); 
+0

Отлично! Спасибо! :) – user2718671

+0

большой ..! Самый простой ответ – krishna

+0

Я ценю вашу помощь, и я хочу принять ваш ответ или ответ Maerlyn. Вы ответили почти одновременно с тем же ответом, и, честно говоря, я хочу принять ответ того, кто опубликовал его в первую очередь. Но на данный момент я не знаю, как это выяснить;) – user2718671

3

Это так же просто, как принимать текущие значения как массив в заменяющий текущую матрицу с этим:

$array = array_values($array); 
+0

Спасибо тоже! :) – user2718671

0

TRY

<?php 
$arr=array(array("img","dummies","slides","01.jpg"),array("img","dummies","slides","01.jpg"),array("img","dummies","slides","01.jpg")); 
print_r($arr); 
echo $num_arr=count($arr); 
for($i=0;$i<$num_arr;$i++) 
{ 
    $new_key="key_".$i; 
    $arr[$new_key] = $arr[$i]; 
    unset($arr[$i]); 
} 
print_r($arr); 


?> 
+1

Спасибо! Но, честно говоря, я даже не пытался его использовать, потому что $ array = array_values ​​($ array); сделал работу уже и немного проще;) Но спасибо в любом случае! :) – user2718671

0

попробовать это

$array = array(0 => 'string1', 2 => 'string2', 4 => 'string3', 5 => 'string4'); 
$arrays =$array; 
print_r($array); 
$array=array(); 
$i=0; 
    foreach($arrays as $k => $item) 
    { 
    $array[$i]=$item; 
     unset($arrays[$k]); 
     $i++; 

    } 

print_r($array); 

Demo

+1

Спасибо! проверил вашу демоверсию, и она работает. Но $ array = array_values ​​($ array); это более простое решение, поэтому я буду использовать его. Но большое спасибо за вашу помощь! :) – user2718671

Смежные вопросы