2012-05-11 2 views
0

私はPHP配列を持っています。新しい配列のキーとしての戻り値

array(1, 13, 16, 17, 18) 

すなわち:私は戻っ欲しいもの

array 
    0 => int 1 
    1 => int 13 
    2 => int 16 
    3 => int 17 
    4 => int 18 

は、このような新しい配列です。値は新しい配列のキーになりました

私はarray_flipを試しましたが、値を削除する必要があります。 私は周りのグーグルで、何か関連するように見えません。

誰かが私に正しい方向を指し示すか、より良い解決策を提供できる場合は、非常に感謝しています。

EDIT:

array_flipリターン:

array 
    1 => int 0 
    13 => int 1 
    16 => int 2 
    17 => int 3 
    18 => int 4 

私が欲しいものだけです:array(1, 13, 16, 17, 18)

私はこの間違いを理解していますか?私が実際に出力したいのは、各キーにnull値がありますか?

+8

投稿した2つの配列は同じです。配列には常に値があるので、「値を落とす」とはどういう意味ですか? – Jon

+0

Hm、値のない配列は決して見られませんでした!多分あなたは 'ヌル'またはデフォルトの他の値を意味します。更新してください。意味が分からないので、 –

+0

私は助けたいですが、私はあなたが必要とするものを理解していません。 – kapa

答えて

1

配列の仕組みがわからないようです。少なくとも1つの値を含む配列には常にキーと値があります。この場合、

array(1, 13, 16, 17, 18) 

の値は、1,13,16、...であり、キーは暗黙的にPHPによって設定されます。この場合、値1はキー0を持ち、値13はキー1を持ちます。

最初の配列と2番目の配列の唯一の違いは、最初に明示的に定義されたキーがあることです。つまり、配列は同じです。

+0

あなたは正しいです。私のコードは、あなたが言ったことを正確に行います。私の問題は別の領域にあります。 – rgin

+0

私の答えがあなたの質問に答えたなら、それを受け入れるべきです(答えの横にある緑色のアイコンをクリックしてください)。乾杯! –

+0

私はそれを受け入れるためには、私が待っていただけです。 =)ありがとう、もう一度。 – rgin

-2

あなたは連想配列行うことができます。

$hello_im_the_new_array=Array(); 
foreach $array_with_keys as $im_a_key_to_other_array { 
     $hello_im_the_new_array[$im_a_key_to_other_array]=$im_the_content_of_that_key_in_the_new_array 
} 

たり、他の配列の値の読み取りを探している場合:あなたはこのために見ていない場合

foreach $array_with_keys as $im_a_key_to_other_array { 
    echo $the_array_with_values[$im_a_key_to_other_array]; 
} 

を...私をあなたの質問が理解できない