关联数组

时间:2013-06-13 12:21:09

标签: php associative-array

我有两个数组:

 arr1([0]=>1400.20
      [1]=>1630.32
      [2]=>2531.30
      [3]=>9845.62)

 arr2([0]=>150
      [1]=>134
      [2]=>901
      [3]=>631)

我将它们合并为:

 arr3  ([150]=>1400.20
        [134]=>1630.32
        [901]=>2531.30
        [631]=>9845.62)

但我需要将arr3转换为此格式:

 arr4 ('150'=>1400.20,
       '134'=>1630.32,
       '901'=>2531.30,
       '631'=>9845.62)

有没有办法将arr3转换为此表单?

我使用两个PHP程序通过phpMyGraph创建图表 第一个程序从数据库中获取信息并创建两个数组arr1arr2arr1中的值将是x轴,arr2中的值将是y轴。合并之后

$arr3 = array_combine($arr2, $arr1)

我使用'serialize'将arr3发送到其他程序。但它没有显示图表并显示此消息:

  

异常'异常',消息'提供数据不是数组'。在   blah / blah / phpMyGraph4.0.php:801堆栈跟踪:....

我想也许我需要使用exmple

中的arr4格式

2 个答案:

答案 0 :(得分:0)

foreach( $arr3 as &$key => &$value ){
    $key = '' . $key . '';
}

但正如其他人所说,PHP的类型标准非常弱。

答案 1 :(得分:0)

$arr3 = array();
foreach( $arr1 as $key => $value ){
    // arr1 [0]=>150
    // arr2 [0]=>1500
    // arr3[150] => 1500
    $arr3[$value] = $arr2[$key];
    
}

为避免占用内存

  foreach( $arr1 as $key => $value ){
        // arr1 [0]=>150
        // arr2 [0]=>1500
        // arr2 [150] => 1500
        // delete arr2[0];
        $arr2[$value] = $arr2[$key];
        unset($arr2[$key]);
        
    }