创建动态关联数组的问题

时间:2017-07-13 06:56:26

标签: php associative-array

我想从两个数组创建动态关联数组 一个数组用于($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

1 个答案:

答案 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));