我不知道如何编写嵌套的
for
循环来转换为键值数组。
这是数组结构。
我需要将第二级数据展平为第一级(将 JobDescription 和 userdetail 数组组合在一起)。
array(2) {
["jobDescription"]=> array(5) {
["funeralFor"]=> string(6) "Myself"
["serviceType"]=> string(1) "1"
["religionType"]=> string(1) "2"
["area"]=> string(4) "2154"
["customerComment"]=> string(6) "fdfddf"
}
["userDetail"]=> array(6) {
["contactEmail"]=> string(16) "[email protected]"
["contactFirstName"]=> string(6) "fddfdf"
["contactLastName"]=> string(6) "fddffd"
["contactPhoneNumber"]=> string(10) "0420988191"
["signup"]=> array(2) {
["id"]=> string(32) "8048f0f7106c336e1a8825d1d3bec902"
["input"]=> string(3) "k5m"
}
["agreement"]=> string(1) "1"
}
}
你有两个数组存储在一个数组中。您想要一个数组下的两个数组的值而不是两个子数组吗?
$newArray = array_merge($array['jobDescription'], $array['userDetail']);
array_merge
,它将两个数组合并在一起:
$new_arr = array_merge($arr['jobDescription'], $arr['userDetail']);
array_merge($bigArray['jobDescription'], $bigArray['userDetail']);
您只需要循环一次。无需筑巢。该解决方案涵盖了要组合的数组数量未定义的情况。否则,您可以按照 Dickie
的建议使用
array_merge
$allValues = array();
if(count($mainArray) > 0)
{
foreach($mainArray as $arr)
{
$allValues += $arr;
}
}
array_merge()
函数可以从多个数组创建一个数组。在您的示例中,它是这样工作的:
$yours = array(...);
$values = array_merge($yours["jobDescription"], $yours["userDetail"]);