微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

array_replace替代早期版本的PHP?

如何解决array_replace替代早期版本的PHP?

| 我希望使用array_replace函数,但是我运行的PHP版本不支持它。我想知道是否有人对此有新的选择? 我正在运行的PHP版本是5.2.17 我有一个数组,我只想用键匹配的另一个数组替换元素。 我无法更新服务器btw上的PHP版本:(     

解决方法

        你的意思是这样的吗?
$array;
$replacement;
foreach ($array as $key => &$value) {
  if (array_key_exists($key,$replacement)) {
    $value = $replacement[$key];
  }
}
要不就
foreach ($replacement as $key => $value) {
  $array[$key] = $value;
}
甚至
array_merge ($array,$replacement);
(我目前看不到
array_merge()
array_replace()
的行为有任何区别...)     ,        如果您想要此功能的真正反向移植,可以使用以下代码: http://www.php.net/manual/fr/function.array-replace.php#92549
if (!function_exists(\'array_replace\'))
{
  function array_replace( array &$array,array &$array1 )
  {
    $args = func_get_args();
    $count = func_num_args();

    for ($i = 0; $i < $count; ++$i) {
      if (is_array($args[$i])) {
        foreach ($args[$i] as $key => $val) {
          $array[$key] = $val;
        }
      }
      else {
        trigger_error(
          __FUNCTION__ . \'(): Argument #\' . ($i+1) . \' is not an array\',E_USER_WARNING
        );
        return NULL;
      }
    }

    return $array;
  }
}
多亏了dyer85(at)gmail(dot)com     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。