我正在尝试从变量$ form_id中提取一个键及其值,并将结果放入一个新变量$ the_array。
当屏幕上的print("<pre>".print_r($form_id,true)."</pre>");
看起来像这样:
<pre>Array
(
[title] = Contact Us
[description] =
[labelPlacement] = top_label
[id] = 2
)</pre>
"NULL Array"
<pre>Array
(
[title] = Test
[description] =
[labelPlacement] = top_label
[id] = 3
)</pre>
"NULL"
我想要新的数组$ the_array:
Array(
[0] => Array(
[title] => Contact Us
[id] => 2
)
[1] => Array(
[title] => Test
[id] => 3
)
)
这是我的代码:
$ii = 0;
foreach ( $form_id as $gf_key => $form_id_value ) {
if ( $gf_key == 'title' ) {
$the_array[$ii] = array(
'title' => $form_id['title'],
'id' => $form_id['id']
);
}
$ii++;
}
但我得到的是两个数组:
<pre>Array
(
[0] = Array
(
[title] = Contact Us
[id] = 2
)
)
</pre>
"NULL Array"
<pre>Array
(
[0] = Array
(
[title] = Test
[id] = 3
)
)
</pre>
"NULL"
如果我回显$ ii,它会在$ form_id中迭代第一个数组时增加,然后在$ form_id中迭代第二个数组时重置为0。
答案 0 :(得分:0)
试试这个
function only ($array, $keys) {
return array_intersect_key($array, array_flip((array) $keys));
}
$the_array[] = only($form_id, ['title', ''id]);
如果您有多个form_id,只需使用循环