2011-07-01 11 views
4

私が持っている配列再手配PHPの配列

Array ([1] => Vice President [3] => Secretary [5] => Treasurer) 

私はループ機能のために

$ub_new_arr_sort = array(); 
for($i3 = 0; $i3 < count($ub_new_arr); $i3++){ 
$ub_new_arr_sort[] = $ub_new_arr[$i3]; 
} 

をPHPたちを試すが、ように見えるしている私はそれが

Array ([0] => Vice President [1] => Secretary [2] => Treasurer) 

に変更しますたいです何も考えていない?

ありがとうございます。

+0

あなたは架空のインデックスを反復処理しているので、「あなた」の方法は、 '動作しませんでした0..2 '。しかし、配列はインデックス '1'、 '3'、および '5'を使用していました。 @Francois Deschenesの答えはより洗練されているが、 'foreach'構造は[働いた](http://www.ideone.com/IzTkT)だろう。 – jensgram

答えて

12

array_valuesをそのまま使用してください。

$array = array_values($array); 
+0

ありがとうございました。 – wyman

+0

これが最良の解決策であることが判明した場合は、それを回答としてマークしてください! –

+0

ええ、私はしました。 Francois – wyman

1

使用foreachの代わりに「キー独立した」であるために:レコードの

foreach($oldarray as $position){ 
    $newArray[] = $position; 
} 
print_r($newArray); 
+1

@wymanちょうどあなたのコードで何が間違っているのか理解しておいてください。あなたの 'for 'は0から' count() 'までループしていたので、値は' 0,1,2'でした。 、5 '。実際、PHPは存在しないキー0と2を読み込もうとしたときにE_NOTICEを生成していました。あなたの開発マシンのphp.iniに 'error_reporting = E_ALL | E_STRICT'を必ず入れておけば、 – Slava