<?php
echo '<pre>';
$directnames = array("LN"=>"ListingId","LAG"=>"AgentCode","ST"=>"MlsStatus","LP"=>"ListPrice","PIC"=>"PhotosCount");
$result = array("LN"=>"129_551453","LAG"=>"2.50","ST"=>"3.00","LP"=>"Ferndale","PIC"=>"359900.00");
$directnames_getkeys = array_keys($directnames);
$result_getkeys = array_keys($result);
$merge_keys = array_intersect($directnames_getkeys,$result_getkeys);
$assigning = array();
foreach($merge_keys as $preparevalues){
foreach($directnames[$preparevalues] as $keys){
echo $assigning[$keys] = $result[$preparevalues];
}
}
echo '</pre>';
?>
预期输出:PHP分配一个数组的值作为一个密钥另一个数组的值,如果两个阵列密钥匹配
array(
"ListingId"=>"129_551453",
"AgentCode"=>"2.50",
"MlsStatus"=>"3.00",
"ListPrice"=>"Ferndale",
"PhotosCount"=>"359900.00"
)
是什么问题? – elibyy
它说,它是一个未声明的变量或参数传递给'$ directnames'的第二个'foreach'行,您可以在其中清楚地看到它。 – Neocortex
当我运行它时,我得到警告,在第16行说警告:为foreach()提供的无效参数,这是因为$ directnames [$ preparevalues]是一个字符串,而不是数组 – elibyy