2017-06-08 155 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

是否總是隻有一個入口?例如只有一個'row_ *'鍵? –

+0

嗨,是的。上述結構在每種情況下都是相同的,只是row_值發生變化 –

+0

你放棄了還是什麼? – AbraCadaver

回答

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_shift()',而不是'array_unshift()',@Alex Howansky已經糾正它。 –

+0

對不起,呃,我總是把它們弄倒。我的大腦想要將拼寫爲「un-」的東西想象爲破壞性的,而不是建設性的。 –

0

最簡單的很可能是:

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

然後,只需echo $data['UUID'];

如果您需要任何理由的關鍵:

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