2016-07-01 23 views
-1
Array 
(
    [0] => string1 
    [1] => string2 
    [2] => string3 
    [3] => string4 
) 

$key = $string1; 
$value = $string2; 

$key = $value; 

私はこの配列を、$キーである[0]と配列全体での$値である連想配列に変換する方法を理解しようとしています。配列を連想配列に変換するPHP

+3

は、あなたが行くここに: http://stackoverflow.com/questions/15673232/convert-array-to-associative-array –

答えて

2

あなたは、その後separate the odd and even elements of the arrayと連想配列を作るために、またはあなただけのこのようなペアで跳躍配列を反復処理することができますarray_combine()を使用することができ、それを行うことができますいくつかの方法があります。

$array = array_values($array); // reset keys from input array to make sure they are contiguous 
$result = []; 
for ($i = 0; $i < count($array); $i += 2) 
    $result[$array[$i]] = $array[$i + 1]; 
+0

この行では、「Warning:Illegal offset type in」というエラーが発生します。$ result [$ array [$ i]] = $ array [$ i + 1]; – timeba

+0

@timeba配列キーは文字列または数字のみにすることができますが、入力配列内のいくつかの要素がどちらも存在しないように見えます。問題を回避するために '$ result [$ array [$ i]]'の代わりに '$ result [(string)$ array [$ i]]'を試すことができますが、簡単に文字列に変換します。デバッグだけが伝えます。 – Havenard

+0

ダッシュと空白はそれを非文字列にしますか? – timeba