更新数组中的php变量
我不知道该如何描述这个问题,如果这个问题的标题不正确,那么很抱歉 我有一个包含一堆元数据库的文件,但我正试图减少重复条目。所以我要做的是创建一个变量,其中包含一个数组,该数组创建了metabox,然后在稍后调用该数组时尝试更新该数组中的一个变量 下面的例子中,我试图更新更新数组中的php变量,php,Php,我不知道该如何描述这个问题,如果这个问题的标题不正确,那么很抱歉 我有一个包含一堆元数据库的文件,但我正试图减少重复条目。所以我要做的是创建一个变量,其中包含一个数组,该数组创建了metabox,然后在稍后调用该数组时尝试更新该数组中的一个变量 下面的例子中,我试图更新$title,但不知道如何实现这一点,也不知道谷歌的解决方案叫什么 <?php $metabox = array( 'name' => "{$title}", 'id' =>
$title
,但不知道如何实现这一点,也不知道谷歌的解决方案叫什么
<?php
$metabox = array(
'name' => "{$title}",
'id' => "column_content",
'type' => 'wysiwyg',
'raw' => false,
'options' => array(
'textarea_rows' => 3,
'teeny' => true,
'media_buttons' => false,
),
);
$meta_boxes[] = array(
'id' => 'page_builder',
'title' => 'Metabox Example',
'fields' => array(
// Output the above array here:
$metabox,
),
);
其实很简单,只需将其添加到代码中即可
$meta_boxes[$i]['title'] = 'NEW TITLE';
你可以这样做
foreach ($metabox as $box){
$box['title'] = 'yourValue';
//here you can change the values that you want
}
如果我理解正确,您可以访问$title值('name'字段),如下所示:
<?php
$metabox = array(
'name' => "initial title",
'id' => "column_content",
'type' => 'wysiwyg',
'raw' => false,
'options' => array(
'textarea_rows' => 3,
'teeny' => true,
'media_buttons' => false,
),
);
$metaboxFields = array();
//this is an example for 5 metaboxes.
for ($i = 1; $i <= 5; $i++) {
$metaboxFields['metabox'.$i] = $metabox;
}
$meta_boxes = array(
'id' => 'page_builder',
'title' => 'Metabox Example',
'fields' => $metaboxFields,
);
$newTitleForBox1 = 'NEW TITLE';
$meta_boxes['fields']['metabox1']["name"] = $newTitleForBox1;
你的意思是什么“是否更新$title
?是什么阻止你更改静态数组中的静态内容?@NicoHaase他需要动态更新它这对我来说很奇怪-代码中没有任何动态内容我有一个包含一堆元盒的文件,但我正在尝试减少重复项
单个元盒在文件中多次重复我不想在下面的meta_Box[]数组中重复这些地方。因此,我们希望创建一次单个字段并更新一些简单字段@Nicohaase如果需要将标题拉入字段并填充到字段中,请使用循环填充。这不会起作用,因为数组上的foreach
的默认行为是复制数组。我确实了解数组在@DarkBee下的工作方式,但我仍然不明白为什么需要[$I]。这还会从数组中更新标题吗?我觉得这会更新meta_box[]array()之外的$title,否?因为数组中有多个metabox
?您需要针对要更新其属性的右侧metabox
title@Aaron据我所知,你有一个多维数组,这就是为什么我添加了[$I],所以你在这里对每个元素的每个标题进行排序。你能进一步解释一下这一行是如何更新的吗?当然,你需要声明$newTitle。但是,这一行代码将用$newTitle变量的值替换“name”字段的当前值“{$title}”,之后该如何处理该变量呢?如何使用它来运行问题中给出的替换?我发现我在回答中犯了一个错误,没有像OP所问的那样设置标题。我把答案改了,这样就行了。谢谢你指出这一点。据我所知,应该有某种“模板数组”——这就是为什么有一个值{$title}
,它应该被当前数组元素title
的内容替换
<?php
$metabox = array(
'name' => "initial title",
'id' => "column_content",
'type' => 'wysiwyg',
'raw' => false,
'options' => array(
'textarea_rows' => 3,
'teeny' => true,
'media_buttons' => false,
),
);
$metaboxFields = array();
//this is an example for 5 metaboxes.
for ($i = 1; $i <= 5; $i++) {
$metaboxFields['metabox'.$i] = $metabox;
}
$meta_boxes = array(
'id' => 'page_builder',
'title' => 'Metabox Example',
'fields' => $metaboxFields,
);
$newTitleForBox1 = 'NEW TITLE';
$meta_boxes['fields']['metabox1']["name"] = $newTitleForBox1;