如何解决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 举报,一经查实,本站将立刻删除。