将关联数组传递给PHP中的另一个关联数组

时间:2014-01-08 22:29:28

标签: php arrays associative-array

如果这是一个简单的修复,我会道歉 - 我在PHP中传递一些数组时遇到了麻烦。 我有两个阵列设置,例如:

$person = array(
            'height' => 100,
            'build'  => "average",
            'waist'  => 38,
            );

$hobbies = array(
            'climbing' => true,
            'skiing'   => false,
            'waist'    => 38,
            );

现在如果我在这些数组上执行print_r(),它们会按预期返回结果。然后我将2个数组插入一个新数组中,如下所示:

$total = array($person, $hobbies);

再次使用print_r返回一个包含两个数组的新数组,但它不是关联的。但是,如果我尝试执行以下操作:

$total = array(
                'person'   <= $person,
                'hobbies'  <= $hobbies,
               );

我使用上面的代码在$ total上执行print_r我没有看到两个数组都有关联。 ^上面的数据只是一个示例数据,但在我的真实应用程序中结构相同,我得到以下结果:

Array ( [0] => 1 [1] => 1 )

如果我非常厚,再一次道歉 - 我有一种感觉。

3 个答案:

答案 0 :(得分:2)

听起来您希望$total数组拥有子阵列的personhobbies个键。如果是这样,只需这样做:

$total = array("person" => $person, "hobbies" => $hobbies);

输出示例:http://3v4l.org/5U5Hh

答案 1 :(得分:1)

您的数组分配方向错误:'person' <= $person应为'person' => $person

// Wrong
$total = array(
  'person' <= $person,
  'hobbies' <= $hobbies,
);

// Right
$total = array(
  'person' => $person,
  'hobbies' => $hobbies,
);

答案 2 :(得分:0)

如果要将两个数组合并到一个新数组中,则需要使用array_merge。

$result = array_merge($person, $hobbies);