数组数组中的键以什么顺序执行 array_merge 是否重要,即下面第二个数组中的键是否会覆盖第一个数组中的键:
array1 = array('username' => 'abc', 'level' => 'admin', 'status' => 'active');
array2 = array('level' => 'root', 'status' => 'active', 'username' => 'bcd');
Run Code Online (Sandbox Code Playgroud)
? 或者两个数组中键的顺序必须相同吗?
我有一个连接到多个服务器的应用程序。其中一台服务器的 ID 是位于另一台服务器上的表的外键。这里的问题是 MySQL 不支持链接服务器,因此我无法运行将 LEFT 连接位于不同服务器上的 2 个表的左查询。
所以我必须使用 PHP 从 2 个不同的服务器中提取 2 个单独的查询,然后他们使用 PHP 来加入它们。
请注意,下面列出的数组键需要是动态的。我不能使用固定名称,因为不同的查询会有不同的列名。下面的示例使用 phone_call_id 作为它们用于连接两个数组的键,并结合了列名。如果 $right_array 有更多列,则需要将这些列添加到最终数组中。
所以我有 2 个数组
$left_array =
Array
(
[0] => Array
(
[id] => 1
[start_on] => 2014-09-14 19:50:00
[end_on] => 2014-09-14 19:51:00
[subject] => This is a new event
[client_id] =>
[all_day_event] => 0
[event_type] => Event
[phone_call_id] => 122
)
[1] => Array
(
[id] => 2
[start_on] => 2014-09-15 05:53:00
[end_on] => 2014-09-15 06:53:00
[subject] …Run Code Online (Sandbox Code Playgroud) 有没有一种很好的方法可以在 PHP 中合并两个数组。
我的$defaults-array 包含默认值。如果$properties-array 包含一个空字符串,我想使用$defaults-array 中的值。
到目前为止,我的代码如下所示:
$defaults = array(
'src' => site_url() . '/facebook_share.png',
'alt' => 'Facebook',
'title' => 'Share',
'misc' => '',
);
$properties = array(
'src' => '',
'alt' => '',
'title' => 'Facebook Share',
'text' => 'FB Text', //further properties
);
$arr = array_merge( $defaults, $properties);
var_dump($arr);
Run Code Online (Sandbox Code Playgroud)
当前结果:
$arr = array(
'src' => '',
'alt' => '',
'title' => 'Facebook Share',
'text' => 'FB Text',
'misc' => '',
); …Run Code Online (Sandbox Code Playgroud) 合并嵌套在至少共享一个元素的数组中的数组的最佳方法是什么?下面是一个例子:
some_method([[1, 2], [2, 3], [4, 5]])
#=> [[1, 2, 3], [4, 5]]
some_method([[1, 2], [2, 3], [3, 4], [5,6]])
#=> [[1, 2, 3, 4], [5, 6]]
Run Code Online (Sandbox Code Playgroud) 当数组 1 的值位于偶数位置而数组 2 的值位于奇数位置时,如何合并两个数组?
例子:
$arr1=array(11, 34,30);
$arr2=array(12, 666);
$output=array(11, 12, 34, 666,30);
Run Code Online (Sandbox Code Playgroud) 如何将这两个数组合并在一起?
Array
(
[0] => Array
(
[id] => 5
[cnt] => 14
)
[1] => Array
(
[id] => 8
[cnt] => 2
)
)
Array
(
[0] => Array
(
[id] => 8
[binding] => hardcover
)
[1] => Array
(
[id] => 5
[binding] => softcover
)
)
Run Code Online (Sandbox Code Playgroud)
预期的结果是:
Array
(
[0] => Array
(
[id] => 5
[binding] => softcover
[cnt] => 14
)
[1] => Array
(
[id] => 8
[binding] => hardcover
[cnt] => …Run Code Online (Sandbox Code Playgroud) 我有两个带有唯一数字键的数组。我怎样才能更快地合并它们?
例如我有一本字典:
dictA={"nest1":{"01feb":[1,2,3,4,5],"02feb":[1,7,8,9,10]},
"nest2":{"01feb":[1,2,3,4,5],"02feb":[6,4,8,10,10]}}
Run Code Online (Sandbox Code Playgroud)
里面的列表具有相同的长度.我需要将nest1和nest2合并为一个字典,结果应如下所示:
dictA={"nest":{"01feb":[2,4,6,8,10],"02feb":[7,11,16,19,20]}}
Run Code Online (Sandbox Code Playgroud) 我想按条件合并数组。如果数组键匹配则添加值,如果不匹配则保留值。
这是我的数组:
Array1
(
[1] => 199
[3] => 1306
[5] => 199
)
Array2
(
[3] => 199
[4] => 199
)
Run Code Online (Sandbox Code Playgroud)
我想要的结果是:
Result
(
[1] => 199
[3] => 1505
[4] => 199
[5] => 199
)
Run Code Online (Sandbox Code Playgroud)
我使用了 if-else 条件,但它重复了已经匹配的值。
这是我的编码尝试:
$all=array();
foreach($sall as $sskey => $ssvalue){
foreach($upgradesall as $uukey => $uuvalue){
//$sskey==$uukey?$all[] = array("id"=>$sskey, "amount"=>$ssvalue+$uuvalue):($sskey!=$uukey? $all[] = array("id"=>$sskey, "amount"=>$ssvalue):($uukey!=$sskey?$all[] = array("id"=>$uukey, "amount"=>$uuvalue):''));
if($sskey===$uukey){
$all[] = array("id"=>$sskey, "amount"=>$ssvalue+$uuvalue);
}elseif($sskey!=$uukey){
$all[] = array("id"=>$sskey, "amount"=>$ssvalue);
}elseif($uukey!=$sskey){
$all[] = array("id"=>$uukey, "amount"=>$uuvalue); …Run Code Online (Sandbox Code Playgroud) 我想将数组b的值添加到数组a:
$a = [[1, 2],[4, 5],[7, 8]];
$b = [3, 6, 9];
Run Code Online (Sandbox Code Playgroud)
结果应该是:
$result = [[1, 2, 3],[4, 5, 6],[7, 8, 9]];
Run Code Online (Sandbox Code Playgroud)
我正在尝试这个(以及许多其他的东西)但是没有得到它.
foreach ($a as $el) {
$i = 0;
$el[] = $b[$i];
$i++;
}
Run Code Online (Sandbox Code Playgroud) array-merge ×10
php ×8
arrays ×6
dictionary ×1
if-statement ×1
indexed ×1
left-join ×1
performance ×1
python ×1
ruby ×1
sum ×1