3

我基本上只是想简单地打印出 CCK 字段中的每个允许值..

我知道允许的值存储在表中的文本字段中:'content_node_field'。

然后将这些值存储在“global_settings”中

我希望以某种方式使用 PHP 循环打印出每个单独的允许值。

但是,所有值都存储在一个文本字段中。我发现很难单独打印出每个值。

4

2 回答 2

1

像这样的东西应该可以解决问题。

// Get the global_settings like you described.
$serialized_data = db_result(db_query("..."));
// Unserialize the data.
$unserialized_data = unserialize($serialized_data)
// Foreach the allowed values.
$values = array();
foreach(explode("\n", $unserialized_data['allowed_values']) as $value) {
  $values[] = $value;
}
于 2010-04-20T11:32:24.173 回答
0

如果我的问题是正确的,您可以通过简单地[]为字段名称添加后缀来创建 PHP 数组,例如:

<input type="text" name="myname[]" />

现在您可以像这样获取数组的值:

foreach($myname as $value)
{
  echo $value . '<br />';
}

根据评论更新:

您可以使用json_decode函数将数据转换为数组,然后进行相应操作:

例子:

$json = '{"a":1,"b":2,"c":3,"d":4,"e":5}';

var_dump(json_decode($json, true));
于 2010-04-20T10:27:36.573 回答