-12

我有两个数组:

 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创建图形 第一个程序从数据库中获取信息并创建两个数组 , arr1。其中的arr2arr1将是 x 轴,arr2 中的值将是 y 轴。将它们组合后

$arr3 = array_combine($arr2, $arr1)

我使用“序列化”发送arr3到另一个程序。但它不显示图表并显示此消息:

带有消息“提供数据不是数组”的异常“异常”。在 blah/blah/phpMyGraph4.0.php:801 堆栈跟踪:....

我想也许我需要使用示例中的 arr4格式

4

2 回答 2

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

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

于 2013-06-13T12:26:18.757 回答
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]);
        
    }
于 2020-10-31T13:14:20.587 回答