我必须构建一个数组作为以下一个从$ _POST超全局收集值的数组。 ca_objets值将从变量中收集,而dot之后的部分是我需要从$ _POST收集的内容。
$va_body=array(
"bundles" => array(
"ca_objects.description" => array("convertCodesToDisplayText" => true),
"ca_objects.description" => array("convertCodesToDisplayText" => true),
"ca_object.representations.caption" => array("convertCodesToDisplayText" => true)
)
);
这是我使用的代码:
<?php
$table="ca_objects";
$bund=$_POST['find_bundles']; //This is an array with the values I need.
$va_body=array("bundles" => array()); //I declare the array outside the foreach loop.
我不确定如何编写循环以便在$ va_body数组中填充“bundles”数组并获得我需要的结果。任何帮助将不胜感激。
foreach ($bund as $elem ) {
// code here
}
?>
答案 0 :(得分:1)
您可以通过关联键访问数组,如下所示:
foreach ($bund as $elem ) {
// code here
// The empty square brackets tells php to push the $elem value into the next available array key
$va_body['bundles'][] = $elem;
}
答案 1 :(得分:0)
要获取点之后的值作为新键,您需要拆分字符串。因此,如果您使用格式为foreach($array as $key => $value)
的foreach循环,则在点之后分割值
foreach ($bund as $elem => $value) {
$strings = explode('.', $elem); // Split the strings at the dot
$ca_objects[$bundles][$strings[count(strings) - 1]] = $value; // Add to array with $elem => $value
}