- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
背景:Trevor 正在使用标准算法的 PHP 实现:获取一组主要的默认名称-值对,并更新这些名称-值对,但仅限于那些名称-值实际存在有效更新值的对。
问题:默认情况下,PHP array_merge 是这样工作的……它会用空白值覆盖非空白值。
$aamain = Array('firstname'=>'peter','age'=>'32','nation'=>'');
$update = Array('firstname' => '','lastname' => 'griffin', age =>'33','nation'=>'usa');
print_r(array_merge($aamain,$update));
/*
Array
(
[firstname] => // <-- update set this to blank, NOT COOL!
[age] => 33 // <-- update set this to 33, thats cool
[lastname] => griffin // <-- update added this key-value pair, thats cool
[nation] => usa // <-- update filled in a blank, thats cool.
)
*/
问题:执行 array_merge 的最少代码行是什么,其中空白值永远不会覆盖已经存在的值?
print_r(array_coolmerge($aamain,$update));
/*
Array
(
[firstname] => peter // <-- don't blank out a value if one already exists!
[age] => 33
[lastname] => griffin
[nation] => usa
)
*/
更新: 2016-06-17T11:51:54 更新了问题,澄清了上下文并重命名了变量。
最佳答案
好吧,如果你想要一种“聪明”的方式来做到这一点,就在这里,但它可能不如简单地做一个循环那么可读。
$merged = array_merge(array_filter($foo, 'strval'), array_filter($bar, 'strval'));
编辑:或使用 +...
关于php array_merge 没有删除值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/793464/
使用 PHP。我有带有此键和值的数组 1: $array_1 = array( (more values) 'propub_cost_max' => 5, 'propub_cost_min' => 0
问题是,我没有得到数组代码的预期结果。 我试过执行 array_merge,但它所做的只是合并所有数组。 $medicine_order = $request['medicine_id'];
我有两个数组: $arr = ["ham", "beef", "testing1"]; $arr1 = ["baby", "chicken", "wax"]; 合并它们时我得到以下结果: var_du
我有两个数组: $arr = ["ham", "beef", "testing1"]; $arr1 = ["baby", "chicken", "wax"]; 合并它们时我得到以下结果: var_du
我想将多个数组合并在一起,同时优先使用第一个数组中的值并且仅具有唯一值。有没有比使用 array_merge()、array_unique() 和 + 运算符更快的方法? function foo(.
我得到了以下数组: $arr = array(6 => 'Somedata', 7 => 'Somedata1', 8 => 'Somedata2'); 问题是,当我使用 array_merge( (
我有一个双层数组。第一级有大约 10 个索引。这些包含每个到 275 个元素的数组,每个元素包含一个单词。 Array ( [0] => Array ( [0] => Suspendi
我的目标是合并 2 个不同的数组。 我有表“a”和“b”。表“a”中的数据更优先。 问题:如果“a”中的一个键包含一个空值,我想从表“b”中取出一个。 这是我的代码: "key1 from prio
PHP 中是否有一个数组函数以某种方式执行 array_merge,比较值,忽略键?我认为 array_unique(array_merge($a, $b)) 有效,但我相信一定有更好的方法来做到这一
假设我有一个关联数组,其键是字母字符串,如果我将一些东西合并到这个数组中,它将成功合并而无需重新索引 $arr1 = array('john'=>'JOHN', 'marry'=>'Marry');
执行 array_merge 时数组数组中键的顺序是否重要,即下面第二个数组中的键是否会覆盖第一个数组中的键: array1 = array('username' => 'abc', 'level'
如何使 array_merge() 覆盖两个数组中具有不同值但具有相同键索引的两个键? 例如,合并: [0] => '随便' 与 [0] => 'whatever', [1] => 'a', [2]
背景:Trevor 正在使用标准算法的 PHP 实现:获取一组主要的默认名称-值对,并更新这些名称-值对,但仅限于那些名称-值实际存在有效更新值的对。 问题:默认情况下,PHP array_merge
尝试合并 4 个数组,但某些时候有些数组可能为空。 $array_1 = array('something1', something2); $array_2 = array('something3',
我正在尝试将一个项目添加到关联数组的开头。我认为最好的方法是使用 array_merge,但我有一些奇怪的后果。我从 mysql 数据库中获取产品的 id 和 Name,它作为关联数组返回,如下所示(
这个问题在这里已经有了答案: What's the difference between array_merge and array + array? [duplicate] (9 个回答) 关闭6年
我敢肯定这对于精通 php 的人来说很容易,但我犯了一个错误,使我的大脑重载,所以现在我真的很困惑是否应该使用 array_combine、array_merge 或其他东西...我已经用谷歌搜索和阅
异常开始出现在所有 View 中,当我尝试运行composer update时,它总是以 {"error":{"type":"ErrorException","message":"array_merg
这个问题不太可能对任何 future 的访客有帮助;它只与一个较小的地理区域、一个特定的时间点或一个非常狭窄的情况相关,通常不适用于全世界的互联网受众。如需帮助使此问题更广泛适用,visit the
这个问题在这里已经有了答案: Merge multiple arrays from one array (7 个答案) 关闭 7 个月前。 我正在寻求一种更好的方法,而无需为 $justPrices
我是一名优秀的程序员,十分优秀!