我在MySQL数据库中有一个JSON字符串,我可以从WordPress中获取2个数字。从JSON数组中获取最后一个值
我的字符串如下:
a:1:{i:300;a:4:{s:7:"lessons";a:1:{i:302;i:1;}s:6:"topics";a:1:{i:302;a:2:{i:304;i:1;i:311;i:1;}}s:9:"completed";i:1;s:5:"total";i:4;}}
的i:300
是过程ID。在topics
内是302
和311
。这些是完成的每个页面的ID。我需要获得最后一个,在这种情况下将是311
。
基本上,我需要的东西,将做到以下几点:
获取页面ID 查找页面ID JSON字符串 获取从JSON字符串主题的最后一个ID
我会如何呢?
更新 - 从数据库获取字符串但不显示。
$conn = new mysqli($servername, $username, $password, $dbname);
$user_id = get_current_user_id();
$sql1 = "SELECT meta_value FROM xrji_usermeta";
$sql3 = " WHERE user_id = ".$user_id." AND meta_key = '_sfwd-course_progress';";
$sql = $sql1 . "" . $sql3;
//echo "sql: ".$sql;
$a = $conn->query($sql);
$results = unserialize($a);
echo "<br>results: ".$results;
我有上述然而什么都不显示了$results
但是如果我运行查询通过续集亲它工作正常。
SELECT meta_value FROM xrji_usermeta WHERE user_id = 2 AND meta_key = '_sfwd-course_progress'
print_r(unserialize($ str)); – splash58
此JSON无效 – mulquin
此字符串是序列化数组。首先你需要['unserialize()'](http://php.net/manual/en/function.unserialize.php)它;将其作为普通数组访问它; [演示](https://eval.in/601791)。 –