如何从wordpress(php)中的多维数组对象中获取数据

时间:2017-09-08 10:57:29

标签: php

我需要获取数据“Studie”的值。下面的数据是通过wordpress查询通过自定义表获取的。我该怎么办?

Array ( [0] => 
stdClass Object ( [data] => a:8:{i:14;O:8:"stdClass":4:{s:5:"label";s:7:"Fornavn";s:5:"value";s:4:"test";s:4:"type";s:5:"Fname";s:4:"meta";N;}
i:15;O:8:"stdClass":4:{s:5:"label";s:9:"Etternavn";s:5:"value";s:3:"net";s:4:"type";s:5:"Lname";s:4:"meta";N;}
i:16;O:8:"stdClass":4:{s:5:"label";s:6:"Kjønn";s:5:"value";s:6:"Kvinne";s:4:"type";s:5:"Radio";s:4:"meta";N;}
i:17;O:8:"stdClass":4:{s:5:"label";s:6:"Studie";s:5:"value";s:8:"Juss UiB";s:4:"type";s:6:"Select";s:4:"meta";N;}
i:18;O:8:"stdClass":4:{s:5:"label";s:3:"År";s:5:"value";s:6:"1. År";s:4:"type";s:6:"Select";s:4:"meta";N;}
i:13;O:8:"stdClass":4:{s:5:"label";s:6:"E-post";s:5:"value";s:14:"test@test2.com";s:4:"type";s:5:"Email";s:4:"meta";N;}
i:20;O:8:"stdClass":4:{s:5:"label";s:7:"Adresse";s:5:"value";s:11:"h jhgjklhjk";s:4:"type";s:7:"Textbox";s:4:"meta";N;}
i:21;O:8:"stdClass":4:{s:5:"label";s:2:"By";s:5:"value";s:3:"jhj";s:4:"type";s:7:"Textbox";s:4:"meta";N;}} ) )

2 个答案:

答案 0 :(得分:1)

您正在从wordpress表中获取数据。为了更好地理解,首先需要反序列化

  

OBJECT - 结果将作为数字索引的行数组输出   对象。

     

OBJECT_K - 结果将作为行的关联数组输出   对象,使用第一列的值作为键(重复将是   丢弃)。

     

ARRAY_A - 结果将作为数字索引数组输出   关联数组,使用列名作为键。

     

ARRAY_N - 结果将作为数字索引数组输出   数字索引数组。

表格:https://codex.wordpress.org/Class_Reference/wpdb#SELECT_Generic_Results#SELECT_Generic_Results

如果您的$ user是存储来自wordpress查询的结果的变量。

$mydata = unserialize($user[0]->data); 
print_r( $mydata);

i的值是每个stdClass Object的ID,您所需的变量Studie位于i:17 [我根据您的数组写了这一行。 ]

试试这个

echo $mydata[17]->value;

谢谢

答案 1 :(得分:0)

$array_json_data = json_decode($array_value)