2017-08-30 21 views
0

私の望みの結果を達成しようとします。しかし、残念なことに数時間後に頭を傷つけることができません。これまでのところ、私が試したもの:多次元配列PHPでの再フォーマット

$post_data = array(
    'email_address' => "sda", 
    'status_if_new' => 'subscribed', 
    'merge_fields' => array(

     'FNAME' => "asd", 
     'LNAME' => "sad") 
); 
$st= "{\"Field0\":\"Value0\",\"Field1\":\"Value1\"}"; 
$string = str_replace(array('{','}','"'),'',$st); 

$custom_array=explode(",",$string); 

$len= count($custom_array); 


for($i=0;$i<$len;$i++) { 
    $fields = explode(":", $custom_array[$i]); 

    array_push($post_data["merge_fields"],$fields); 
} 
echo "<pre>"; 
var_dump($post_data); 
die("sad"); 

結果:文字列の書式設定を行った後、その文字列を配列にプッシュします。

array(3) { 
    ["email_address"]=> 
    string(3) "sda" 
    ["status_if_new"]=> 
    string(10) "subscribed" 
    ["merge_fields"]=> 
    array(4) { 
    ["FNAME"]=> 
    string(3) "asd" 
    ["LNAME"]=> 
    string(3) "sad" 
    [0]=> 
    array(2) { 
     [0]=> 
     string(6) "Field0" 
     [1]=> 
     string(6) "Value0" 
    } 
    [1]=> 
    array(2) { 
     [0]=> 
     string(6) "Field1" 
     [1]=> 
     string(6) "Value1" 
    } 
    } 
} 
sad 
私が達成したい何

が、私はあなたが下記を参照できる異なっそのビットを達成したい:

array(3) { 
    ["email_address"]=> 
    string(3) "sda" 
    ["status_if_new"]=> 
    string(10) "subscribed" 
    ["merge_fields"]=> 
    array(4) { 
    ["FNAME"]=> 
    string(3) "asd" 
    ["LNAME"]=> 
    string(3) "sad" 
    ["Field0"]=> 
    string(6) "Value0" 
    ["Field1"]=> 
    string(6) "Value1" 
} 
} 
sad 

を任意の質問は、私にお気軽にお尋ねください。 誰でも?私の望む結果を達成するために? TIA。

答えて

0

使用$post_data["merge_fields"][$fields[0]] = $fields[1]
代わりのarray_push($post_data["merge_fields"],$fields);

+0

はそんなに@Agrawalありがとう –

0
$post_data = array(
'email_address' => "sda", 
'status_if_new' => 'subscribed', 
'merge_fields' => array(

    'FNAME' => "asd", 
    'LNAME' => "sad") 
); 
$st= "{\"Field0\":\"Value0\",\"Field1\":\"Value1\"}"; 
$string = str_replace(array('{','}','"'),'',$st); 


$custom_array=explode(",",$string); 

$len= count($custom_array); 


for($i=0;$i<$len;$i++) { 
    $fields = explode(":", $custom_array[$i]); 

    $post_data["merge_fields"][$fields[0]] = $fields[1]; 
} 
echo "<pre>"; 
var_dump($post_data); 
die("sad");