Php CalderaWP将MySQL字段值存储为字符串;数组";。如何使用$wpdb进行解析?
我用Wordpress和CalderaWP表单建立了一个调查网站,我遇到了复选框字段值的数据存储问题。我担心的是,这些表单提交类型的数据以字符串“Array”的形式存储在MySQL数据库中。以下是一个例子: 我想用这些数据做很多事情,比如将其导出到csv文件,允许管理员通过自定义字段更改值,等等。在我创建的每个前端表单中,值都显示为字符串“Array”。以下是其中一个自定义字段的快照: 我决定编写一个wp cron,将这些数据重新格式化为前端可用格式。第一部分是获取数据并进行转换。我已经设法使用$wpdb对象来获取所有具有值“Array”的字段。看起来是这样的:Php CalderaWP将MySQL字段值存储为字符串;数组";。如何使用$wpdb进行解析?,php,mysql,arrays,wordpress,Php,Mysql,Arrays,Wordpress,我用Wordpress和CalderaWP表单建立了一个调查网站,我遇到了复选框字段值的数据存储问题。我担心的是,这些表单提交类型的数据以字符串“Array”的形式存储在MySQL数据库中。以下是一个例子: 我想用这些数据做很多事情,比如将其导出到csv文件,允许管理员通过自定义字段更改值,等等。在我创建的每个前端表单中,值都显示为字符串“Array”。以下是其中一个自定义字段的快照: 我决定编写一个wp cron,将这些数据重新格式化为前端可用格式。第一部分是获取数据并进行转换。我已经设法
function reformat_mysql_arrays() {
global $wpdb;
$table_name = '`wp_mydatabase`.`wp_cf_form_entry_values`';
$results = $wpdb->get_results("SELECT *
FROM $table_name
WHERE `value` LIKE 'Array'
");
// Loop through the rows for the query
foreach($results as $key => $row) {
// Loop through the current row's columns
foreach($row as $column => $value) {
if($column == 'id') {
echo 'ID: ' . $value . ' | ';
}
if($column == 'value') {
var_dump($value);
}
}
}// END foreach column loop
}
reformat_mysql_arrays();
我担心的是,当我var_dump()
从'value'列中提取字段值时,它看起来就像字符串“Array”,而不是我可以解析的数组。以下是此函数输出的屏幕截图:
我尝试了所有我能想到的方法来解析这些值——分解、内爆、foreach、unserialize、array_值等等——但我仍然无法从表观数组中获得任何值。任何帮助都将不胜感激。我在这里遗漏了什么吗?这是因为数组实际上是一个字符串?验证CalderaWP是否确实在存储序列化数组。感谢您的评论。我将向Caldera确认这些值实际上是以序列化数组的形式存储的,但我知道这些条目可以在它们的WP dashboard工具中编辑。那么,数据可能存储在其他地方?你以前用过火山口表格吗?