我需要导入一组复选框,但有一个值我不知道它是如何确定的。
该数组基于我创建的显示类别复选框选项列表的用户元选项。它抓取所有类别并创建一个可以保存到用户配置文件的复选框选项。这些类别具有不同的级别(父级、子级或子级)。
这是我用来创建用户元选项的编码的一部分:
$args = array( 'hide_empty' => 0, 'taxonomy'=> 'category');
$categories = get_categories($args);
if ($categories){
foreach ( $categories as $category ){
if(in_array($category->term_id,(array)$data)) {
$selected = 'checked="checked""';
} else {
$selected = '';
}
echo '<input name="user_cats[]" value="'.$category->term_id.'" '.$selected.' type="checkbox"/> '.$category->name.'<br/>';
}
}
在对一些复选框选项进行测试保存后,我检查了“user_cats”字段的数据库值,它给了我这样的信息:
a:2:{i:0;s:2:"20";i: 1;s:3:"343";
现在,我知道除了一个变量之外的所有变量代表什么。
a = 值/选择的总量(数量)
i = 值/选择的序号(*从 0 开始)
"X" = 括号内的数值为数值
我的问题是,s: 值基于什么?我问的原因是因为我正在编译一个包含 1,300 条记录的 csv 文件来导入,我不知道 s: 值是如何确定的。我试过只给 s: 一个常量值 2,但是在导入这些值之后,没有根据导入的数组选择选项。那没有用。
所以我觉得选择正确的选项是基于s: 值。另一种选择是,如果我能够在没有当前语法的情况下导入数组。
我花了 很长 时间用 excel 函数和技巧手动编译文件,这是唯一的障碍。任何帮助都将是一个主要的救世主。
最佳答案
这是 php 序列化格式:
a:2 - array with 2 elements
s:2 - string 2 characters long
i:0 - integer with value "0"
关于php - 数组 : What is the "s:" value in syntax based on?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7895864/