2016-07-27 16 views
0

PHPで配列変数がエコー表示される問題を抱えています。私は数多くのことを試していますが、配列がPHPファイルに送られていることがわかります。 JSONとstringify版です。JSON AJax PHPがデータをPHPで表示できない

私は、ログファイルや変数のファイルに表示されるデータにデータを書き込むことができます。

{"supplements":[{"supplement":"1","dose":"2","dosewieght":"mg"}]} 

$データ変数はなしログファイルに書き込まれませんが、次のように$のdatastrippedですどのように私はそれをコードするかどうか。

私は$ data、$ data [0]、$ data [0] ['supplement']、$ data ['supplements'] ['supplement']など多くの組み合わせを試しました。

私がJSONで見つけた、他の人のために働いている情報は、私にとってはうまくいかないようです。私もワードプレスの内側にこれをやっているが、データが正しくPHPの関数になっているが、ここで

から個々の項目をエコーすることができないことを確認した

***はJavascriptを次のとおりです。

var supplist = {supplements:[]}; 
supplist.supplements.push({supplement:supplement, dose:dose, dosewieght:doseweight}); 

$("#supplementsave").click(function(){ 
    var jsonsupparray = JSON.stringify(supplist); 


     event.preventDefault(); 
     jQuery.ajax({ 
       type: "POST", 
       dataType:"JSON", 
       url: myajax.ajax_url, 
       data:{ 

         data:jsonsupparray, 
         action: "addsupplements"    
       }, 
       cache:false, 
       success: function(data){ 
       console.log("success"); 
       }, 

    }); 
ここで

はPHPです:

$datastripped =stripslashes($_POST['data']); 

$data = json_decode($datastripped, true); //Data Not Beign shown 

foreach($data as $value){ 

echo $value['supplement']; 

} 
+0

'.stringify()'を使用する特別な理由は何ですか?その行をコメントアウトし、 'stripslashes()'と 'json_decode()'で行をコメントアウトしてください。これはあなたの問題を解決するはずです。 – MonkeyZeus

答えて

1

ちょうどそれ

<?php 
    $datastripped = '{"supplements":[{"supplement":"1","dose":"2","dosewieght":"mg"}]}'; 
    $data = json_decode($datastripped, true); 
    // print_r($data['supplements']); 
    foreach ($data['supplements'][0] as $key => $value) { 
     echo $key.' '.$value.'<br>'; 
    } 
?> 

あなたがあなたのsupplistでデータをプッシュするときに、また、単一引用符を配置する必要がある1つのパラメータ

echo $data['supplements'][0]['supplement']; 
echo $data['supplements'][0]['dose']; 
echo $data['supplements'][0]['dosewieght']; 
3

を呼び出したい場合は、

supplement 1 
dose 2 
dosewieght mg 

を取得します。

supplist.supplements.push({'supplement':'supplement', 'dose':'dose', 'dosewieght':'doseweight'}); 

それは変数としてではなく、文字列としてサプリメントを扱うので、それ以外の場合は、サプリメントが定義されていないというjavascriptのエラーがスローされます。

あなたのPHPコードでは、あなたはデコードし、あなたのjsonとiterateをする必要があります。

関連する問題