Php 组合两个数组以生成具有2个值的键
我有这个阵列:Php 组合两个数组以生成具有2个值的键,php,arrays,Php,Arrays,我有这个阵列: array (size=7) 'form' => string 'form-elements' 'device' => string 'computer' 'company' => string 'sdfsdf' 'Naam' => string 'sdfsdfs' 'phone' => string 'dfsdfsd' 'email' => string 'andrey6ssss13@gmail.comrty' '
array (size=7)
'form' => string 'form-elements'
'device' => string 'computer'
'company' => string 'sdfsdf'
'Naam' => string 'sdfsdfs'
'phone' => string 'dfsdfsd'
'email' => string 'andrey6ssss13@gmail.comrty'
'mesaj' => string 'dasdasd'
我在$\u SESSION
中为每个键多存储一个值($\u SESSION['key from$\u POST.''.\u type']
),“type”,例如,我需要序列化[“company”,“sdfsdf”,“1”]
是否有办法生成这样的数组:
array (size=7)
'form' => string 'form-elements'
'device' => string 'computer'
'company' => array (
'sdfsdf'
'1'
)
'Naam' => array(
'sdfsdfs'
'0'
)
'phone' => array (
'dfsdfsd'
'3'
)
等等
因此,我有这个函数,它完成了我需要的工作,但我必须做一个不同的方法,我需要将$\u POST
数组与$\u会话['$\u POST key.'\u type']
组合起来,以便为$\u POST
键提供两个值
function arrayDisplay($input){
$goodKeys = array_diff(array_keys($input), array('form', 'captcha'));
$data = array();
foreach ($goodKeys as $goodKey) {
$data[$goodKey] = $input[$goodKey];
}
return '[' . implode(
', ',
array_map(
function ($v, $k) {
$s = 0;
if(isset($_SESSION[$k.'_type']))
{
$s = $_SESSION[$k.'_type'];
}
if(is_array($v))
{
$v = implode(",",$v);
}
return sprintf('["%s",%s,"%s"]', $k, json_encode($v), $s);
},
$data,
array_keys($data)
)
) . ']';
}
是的,有一种方法,只需编程即可。到目前为止你试过什么?向我们展示你的努力,因为如果你没有努力,没有人会为此付出努力。@klaar I添加了更多信息是的,有一种方法,只需编程即可。到目前为止你试过什么?向我们展示你的努力,因为如果你没有努力,没有人会为此付出努力。@klaar I补充了更多信息