2017-07-13 80 views
0

我想創建兩個數組的動態關聯數組 使用一個數組($l_arr)作爲鍵和其他數組用於值($r_arr)當我在輸出中顯示$map我可以看到存在聯想陣列創建但當我打印echo $map['key']輸出是空白請幫我guyz。這裏是代碼和輸出,創建動態關聯數組的問題

<?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 

回答

2

正如你可能會看到,有在輸出空格 - 看看每個數組索引後,新的生產線。您需要trim()您的preg_replace()這裏:

$l_arr[$i] = trim(preg_replace("/[0-9,.]/", "", $arr_temp)); 
$r_arr[$i] = trim(preg_replace("/[^0-9,.]/", "", $arr_temp)); 
+0

謝謝男人爲我工作 –