【问题标题】:How to add two vectors of the same size in php如何在php中添加两个相同大小的向量
【发布时间】:2017-06-24 09:25:04
【问题描述】:

假设我有以下代码:

<?php
$a = array(0,1,2);
$b = array(0,1,2);
$c = $a + $b;
print_r($c);
?>

它不起作用。显然,我可以通过“foreach”循环添加向量的每个对应元素,但我想知道是否有预定义的函数来防止硬编码。

【问题讨论】:

标签: php arrays function vector


【解决方案1】:

我认为你可以使用 array_map 来做到这一点

http://php.net/manual/en/function.array-map.php

类似

$a1 = array(4,6,7);
$a2 = array(3,6,1);
$a3 = array_map(function($a, $b){ return $a + $b;}, $a1, $a2);

它可能不会比直接将它直接放置在行中更有效,但如果你只是想让它看起来很漂亮,那么这可能会做到。

编辑:这是一个类似的答案Best method for sum two arrays

【讨论】:

    【解决方案2】:

    我在一个项目中需要这个,我需要这个来调用很多次,我只对将向量(一维数组)的值添加到另一个感兴趣。与提出的问题略有偏差:

    /**
     * add vector $b to $a
     * $param &number[] $a call by reference
     * $param number[] $b array to add
     */
    function array_add(&$a, $b)
    {
        for($i=count($a);--$i>=0;)
            $a[$i] += $b[$i];
    }
    

    但 php 优化器可能同样快。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-19
      • 2016-07-11
      • 2019-04-10
      • 1970-01-01
      相关资源
      最近更新 更多