减少不能正常工作我需要添加例外/排除
Reduce not work correctly i need add exeption / exlusion
我在 $_POST var 中有一个类似的数组;但需要知道,在某些情况下,数组是 json:
的巨大多级
array (
'idprocess' => 'f-gen-dato1',
'idform' => 'f-gen-dato2',
)
或:
array (
array (
'idprocess1' => 'f-gen-dato1',
'idform1' => 'f-gen-dato2',
),
array (
'idprocess2' => 'f-gen-dato1',
'idform2' => 'f-gen-dato2',
)
)
我尽量减少;任何数组:
public function ReduARR($Var) {
$result = $Var;
if (is_array($Var)) {
$result = array_reduce($Var, 'array_merge', array());
}
return $result;
}
但我需要避免使用我向您展示的阵列...一级或单级。并且只在第二级或多级工作。
我在一级得到这个错误:
array_merge(): Argument #2 is not an array
我的猜测是您希望合并或减少一些数组,您可能会尝试编写一些类似于以下的函数:
$arr1 = array(
'idprocess1' => 'f-gen-dato1',
'idform1' => 'f-gen-dato2',
);
$arr2 = array(
'idprocess2' => 'f-gen-dato1',
'idform2' => 'f-gen-dato2',
);
function finalArray($arr1, $arr2)
{
if (is_array($arr1) && is_array($arr2)) {
return mergeTwoArrays($arr1, $arr2);
}
}
function mergeTwoArrays($arr1, $arr2)
{
return array_merge($arr1, $arr2);
}
var_dump(finalArray($arr1, $arr2));
例如。
$arr = array(
array(
'idprocess1' => 'f-gen-dato1',
'idform1' => 'f-gen-dato2',
),
array(
'idprocess2' => 'f-gen-dato1',
'idform2' => 'f-gen-dato2',
),
);
if (is_array($arr[0]) && is_array($arr[1])) {
var_dump(array_merge($arr[0], $arr[1]));
}
输出
array(4) {
["idprocess1"]=>
string(11) "f-gen-dato1"
["idform1"]=>
string(11) "f-gen-dato2"
["idprocess2"]=>
string(11) "f-gen-dato1"
["idform2"]=>
string(11) "f-gen-dato2"
}
我在 $_POST var 中有一个类似的数组;但需要知道,在某些情况下,数组是 json:
的巨大多级array (
'idprocess' => 'f-gen-dato1',
'idform' => 'f-gen-dato2',
)
或:
array (
array (
'idprocess1' => 'f-gen-dato1',
'idform1' => 'f-gen-dato2',
),
array (
'idprocess2' => 'f-gen-dato1',
'idform2' => 'f-gen-dato2',
)
)
我尽量减少;任何数组:
public function ReduARR($Var) {
$result = $Var;
if (is_array($Var)) {
$result = array_reduce($Var, 'array_merge', array());
}
return $result;
}
但我需要避免使用我向您展示的阵列...一级或单级。并且只在第二级或多级工作。
我在一级得到这个错误:
array_merge(): Argument #2 is not an array
我的猜测是您希望合并或减少一些数组,您可能会尝试编写一些类似于以下的函数:
$arr1 = array(
'idprocess1' => 'f-gen-dato1',
'idform1' => 'f-gen-dato2',
);
$arr2 = array(
'idprocess2' => 'f-gen-dato1',
'idform2' => 'f-gen-dato2',
);
function finalArray($arr1, $arr2)
{
if (is_array($arr1) && is_array($arr2)) {
return mergeTwoArrays($arr1, $arr2);
}
}
function mergeTwoArrays($arr1, $arr2)
{
return array_merge($arr1, $arr2);
}
var_dump(finalArray($arr1, $arr2));
例如。
$arr = array(
array(
'idprocess1' => 'f-gen-dato1',
'idform1' => 'f-gen-dato2',
),
array(
'idprocess2' => 'f-gen-dato1',
'idform2' => 'f-gen-dato2',
),
);
if (is_array($arr[0]) && is_array($arr[1])) {
var_dump(array_merge($arr[0], $arr[1]));
}
输出
array(4) {
["idprocess1"]=>
string(11) "f-gen-dato1"
["idform1"]=>
string(11) "f-gen-dato2"
["idprocess2"]=>
string(11) "f-gen-dato1"
["idform2"]=>
string(11) "f-gen-dato2"
}