我想从两个数组创建动态关联数组
一个数组用于($l_arr
)用于键,而其他数组用于值($r_arr
)当我在输出中显示$map
时我可以看到创建了关联数组但是当我打印时echo $map['key']
输出为空白请帮帮我。这是代码和输出,
<?php
$handle = fopen ("php://stdin","r");
fscanf($handle,"%d",$n);
for($i=0;$i<$n;$i++)
{
$arr_temp = fgets($handle);
$l_arr[$i]= preg_replace("/[0-9,.]/", "", $arr_temp);
$r_arr[$i]=preg_replace("/[^0-9,.]/", "", $arr_temp);
}
for($i=0;$i<$n;$i++)
{
$arr_temp = fgets($handle);
$op[$i]=$arr_temp;
}
for($i=0;$i<$n;$i++)
{
$map[$l_arr[$i]]=$r_arr[$i];
}
print_r($map);
echo "value of sam is".$map['sam'];
?>
,输出
Array
(
[sam
] => 99912222
[tom
] => 11122222
[harry
] => 12299933
)
value of sam is
答案 0 :(得分:1)
正如您可能看到的那样,输出中有空格 - 在每个数组索引后查看新行。您需要trim()
preg_replace()
此处:
$l_arr[$i] = trim(preg_replace("/[0-9,.]/", "", $arr_temp));
$r_arr[$i] = trim(preg_replace("/[^0-9,.]/", "", $arr_temp));