3

私は配列を持っています

$variables_a = array(
   'a' => $a,
   'b' => $b,
   'c' => $c
);

次に別の$variables_b = array('x','y','z')、そして私は次のようにB配列をループしたいと思います:

foreach($variables_b as $var) {
    $variables_c[] = array($var => $$var);
}

次に、AとCを$variables_combined = array_merge($variables_A, $variables_C)

私が取得したいと思っている出力print_rは、

Array
(
     [a] => a
     [b] => b
     [c] => c
     [x] => x
     [y] => y
     [z] => z
)

しかし、私が得るのは

Array
(
     [a] => a
     [b] => b
     [c] => c
     [0] => Array
         (
            [x] => x
         )    
     [1] => Array
         (
            [y] => y
         )    
     [2] => Array
         (
            [z] => z
         )    
)

に変更$feature_variables[] = array($feature => $$feature)する$feature_variables = array($feature => $$feature)

Array
(
     [a] => a
     [b] => b
     [c] => c
     [z] => z
)

つまり、最後のアイテムです$variables_bが、他のアイテムはありません。それで、私はどこで間違っているのですか?

4

5 に答える 5

4

これを行うだけです:

$newvar = $variables_a;

foreach($variables_b as $var)
{
$newvar[$var] = $var;
}

$ newvarには、必要な配列が含まれます

于 2012-11-01T10:27:44.083 に答える
3

次のように配列cをループしてください。

foreach($variables_b as $var) {
    $variables_c[$var] = $$var;
}
于 2012-11-01T10:21:42.627 に答える
2

これを試して、

foreach($variables_b as $var) {
   $variables_c[$var] = $$var;
}
于 2012-11-01T10:22:55.383 に答える
2
<?php

$variables_a = array(
   'a' ,
   'b' ,
   'c'
);

$variables_b = array('x','y','z');
 $variables_c=array();

foreach($variables_a as $var) {
    $variables_c[$var] =$var;

}

foreach($variables_b as $var) {
    $variables_c[$var] =$var;

}
print_r($variables_c);

?>
============
and test in : "http://codepad.org/1ICZxPIG"
于 2012-11-01T10:27:11.940 に答える
1
$variables_a = array(
    'a' => $a,
    'b' => $b,
    'c' => $c
);
$variables_b = array('x','y','z');

foreach($variables_b as $var) {
$variables_c[$var] = $$var;
}


$variables_combined = array_merge($variables_a, $variables_c);

echo "<pre>";print_r($variables_combined);
于 2012-11-01T10:27:23.000 に答える