2016-05-04 5 views
0

http.postを使用してPHPファイルを呼び出し、処理中にjsonオブジェクトを渡しています。 私はPHP内からオブジェクトを取得することができ、以下のダンプを添付しています。私が今必要とするのは、配列から '名前'、 '電子メール'、および 'メッセージ'の文字列を取得することですが、これはPHPにはあまり使われていないため困難です。次のようにPHPファイル内の渡されたパラメータからの配列要素の取得

  Connected successfully<pre>string(2467) "Array 
      (
       [name] => Array 
        (
         [$viewValue] => testing one two 
         [$modelValue] => testing one two 
         [$validators] => Array 
          (
          ) 

         [$asyncValidators] => Array 
          (
          ) 

         [$parsers] => Array 
          (
          ) 

         [$formatters] => Array 
          (
           [0] => 
          ) 

         [$viewChangeListeners] => Array 
          (
          ) 

         [$untouched] => 
         [$touched] => 1 
         [$pristine] => 
         [$dirty] => 1 
         [$valid] => 1 
         [$invalid] => 
         [$error] => Array 
          (
          ) 

         [$name] => fullName 
         [$options] => 
        ) 

       [email] => Array 
        (
         [$viewValue] => [email protected] 
         [$modelValue] => [email protected] 
         [$validators] => Array 
          (
          ) 

         [$asyncValidators] => Array 
          (
          ) 

         [$parsers] => Array 
          (
          ) 

         [$formatters] => Array 
          (
           [0] => 
          ) 

         [$viewChangeListeners] => Array 
          (
          ) 

         [$untouched] => 
         [$touched] => 1 
         [$pristine] => 
         [$dirty] => 1 
         [$valid] => 1 
         [$invalid] => 
         [$error] => Array 
          (
          ) 

         [$name] => email 
         [$options] => 
        ) 

       [message] => Array 
        (
         [$viewValue] => testing testing 
         [$modelValue] => testing testing 
         [$validators] => Array 
          (
          ) 

         [$asyncValidators] => Array 
          (
          ) 

         [$parsers] => Array 
          (
          ) 

         [$formatters] => Array 
          (
           [0] => 
          ) 

         [$viewChangeListeners] => Array 
          (
          ) 

         [$untouched] => 
         [$touched] => 1 
         [$pristine] => 
         [$dirty] => 1 
         [$valid] => 1 
         [$invalid] => 
         [$error] => Array 
          (
          ) 

         [$name] => message 
         [$options] => 
        ) 

      ) 
      " 
      <br /><br />Array 
      (
       [name] => Array 
        (
         [$viewValue] => testing one two 
         [$modelValue] => testing one two 
         [$validators] => Array 
          (
          ) 

         [$asyncValidators] => Array 
          (
          ) 

         [$parsers] => Array 
          (
          ) 

         [$formatters] => Array 
          (
           [0] => 
          ) 

         [$viewChangeListeners] => Array 
          (
          ) 

         [$untouched] => 
         [$touched] => 1 
         [$pristine] => 
         [$dirty] => 1 
         [$valid] => 1 
         [$invalid] => 
         [$error] => Array 
          (
          ) 

         [$name] => fullName 
         [$options] => 
        ) 

       [email] => Array 
        (
         [$viewValue] => [email protected] 
         [$modelValue] => [email protected] 
         [$validators] => Array 
          (
          ) 

         [$asyncValidators] => Array 
          (
          ) 

         [$parsers] => Array 
          (
          ) 

         [$formatters] => Array 
          (
           [0] => 
          ) 

         [$viewChangeListeners] => Array 
          (
          ) 

         [$untouched] => 
         [$touched] => 1 
         [$pristine] => 
         [$dirty] => 1 
         [$valid] => 1 
         [$invalid] => 
         [$error] => Array 
          (
          ) 

         [$name] => email 
         [$options] => 
        ) 

       [message] => Array 
        (
         [$viewValue] => testing testing 
         [$modelValue] => testing testing 
         [$validators] => Array 
          (
          ) 

         [$asyncValidators] => Array 
          (
          ) 

         [$parsers] => Array 
          (
          ) 

         [$formatters] => Array 
          (
           [0] => 
          ) 

         [$viewChangeListeners] => Array 
          (
          ) 

         [$untouched] => 
         [$touched] => 1 
         [$pristine] => 
         [$dirty] => 1 
         [$valid] => 1 
         [$invalid] => 
         [$error] => Array 
          (
          ) 

         [$name] => message 
         [$options] => 
        ) 

      ) 
      </pre> 

最初の場所でオブジェクトを取得するPHPコードは次のとおりです。

$data = json_decode(file_get_contents('php://input'), TRUE); 
$text = print_r($data,true); 

echo "<pre>"; 
var_dump($text); 
echo "<br /><br />"; 
print_r($text); 
echo "</pre>"; 

は、どのように私は「名前」、「メール」と「メッセージ」の文字列をしてくださいアクセスすることができますか?

ところで配列内から$を削除します。

+0

'$データ[「名前」]'、 '$データ:私はあなたがあなたが読んでいる比較的奇妙なJSONを生成し、いくつかのフレームワークを使用していると仮定しかし、ポイントに、あなたは経由でそれらを得ることができます。 'message'] '、' $ data ['email'] ' –

答えて

0

有効なものでありえない、すべての配列の最初の...それはこのようなものでなければなりません。

$newarr = Array(
    "name" => Array(
    "first_name" => "Alex", 
    "last_name" => "Gonzalez" 
    ), 
    "email" => Array(), 
    "other_sub_array" => Array() 
); 

これはサブアレイ(別の配列内の配列)なので、最初の名前を言うことにしましょう。

echo $newarr['name']['first_name']; 
// Result: Alex 

希望します。

UPDATE

私はそのような配列を使うのは悪い習慣である、有効ではないという意味ではありませんでした。

+0

助けてくれてありがとう。配列はブラウザコンソールで生成されました。 – user2641668

0

あなたの配列は、他の回答仮定とは異なり有効です。 [

//note I used single quotes so that the dollar sign isn't evaluated to a php variable 
$data['name']['$modelValue']; 
$data['message']['$modelValue']; 
$data['email']['$modelValue']; 
+0

偉大な - ありがとう。私は今のところ蛇の場合よりもむしろラクダのケースにこだわりましたが、最終的に私のdbを更新することができました。 – user2641668

+0

ああ、タイプミスをよく捕まえる。喜んで助けてください。 – craigts

関連する問題