2017-06-08 11 views
0

私はこの配列を扱っていますが、キー[row_204]は毎回変わります(つまり、時には[row_79]または[row_109]です)が、この正確な構造では他のすべてのキー名は変わりません。 UUIDとuserIDの値を取得する必要がありますが、その[row_]配列のキーで値を取得する解決策が見つかりません。多次元配列の値を抽出します

私は、例えば、

$のUUID =

というように、値を抽出し、文字列でそれらを配置することができるようにする必要があります。

私は同様のクエリを見つけることができないようで、非常に多くのバリエーションを試しました。事前に多くの感謝。

Array 
(
[action] => edit 
[data] => Array 
    (
     [row_204] => Array 
      (
       [UUID] => 148367FF-FBEB-413D-8495-6B1539BDC5DC 
       [userID] => 7 
       [maxPoints] => 7 
       [awardedPoints] => 6 
       [Date] => 2017-06-08 
      ) 

    ) 

) 
+0

は、それは常に一つだけのエントリですか?例えば1つの 'row_ *'キーだけですか? –

+0

こんにちは、はい。上記の構造はそれぞれ同じですが、row_valueが変更されただけです –

+0

あなたは何をあきらめましたか? – AbraCadaver

答えて

1

あなたはその配列内の唯一の1 row_*項目が常にあることがわかっている場合は、あなただけの最初の項目を引くことができます(つまり、あなたのケースで唯一の)array_shift()とリストの先頭オフ:

$data = array_shift($array['data']); 
print_r($data); 

はあなたを与える:

Array (
    [UUID] => 148367FF-FBEB-413D-8495-6B1539BDC5DC 
    [userID] => 7 
    [maxPoints] => 7 
    [awardedPoints] => 6 
    [Date] => 2017-06-08 
) 

次に、あなたはちょうどあなたがしたいキーを欽慕することができます

$uuid = $data['UUID']; 
+0

そんなに速い返答をありがとう。配列全体が$ _POSTの形で到着しています。私が$ data = array_unshift($ _ POST ['data'])を使うと、私はエラーが発生しましたPHP警告:array_unshift()は少なくとも2つのパラメータ、1が指定されています –

+0

それはエラーでした、それは 'array_unshift()'ではなく 'array_shift()'、@Alex Howanskyはすでにそれを修正しました。 –

+0

ええ、申し訳ありませんが、私はいつもそれらを後ろに持っています。私の脳は、建設的ではなく破壊的なものとして考えています。 –

0

最も簡単な、おそらく次のようになります。それからちょうどecho $data['UUID'];

$data = current($_POST['data']); 

あなたはどのような理由のためのキーが必要な場合:

list($key, $data) = each($_POST['data']);