2013-04-21 4 views
1

저는 지금 당장이 일에 매달 렸습니다. 이것에 대한 쉬운 해결책이 있다고 확신하지만 나는 여전히 PHP 주위에 내 머리를 포장입니다.PHP에서 배열을 문자열로 변환

DB에서 데이터를 가져 와서 다른 데이터로 저장하려고합니다.

SQL을 사용하여 데이터를 가져 와서 어레이에 저장했습니다. 이제 그 데이터를 다른 배열에 저장하기위한 문자열로 변환하려고합니다. (배열에 저장하지 않고 직접 할 수있는 방법이 있다면, 나는 모든 귀입니다.)

이 형식으로 데이터를 가져옵니다.

다음
414208 126.61370996251785 
479516 73.531040944194 
4129769 54.390965049372674 

내 코드입니다 :

$sql = mysql_query("SELECT Id, Score FROM users.`table1` WHERE UserId= $userID", $dbh1); 

$table = array(); 

while ($row = mysql_fetch_array($sql)) 
    $table[] = $row; 

$table = implode($table); 


mysql_query("INSERT INTO $tbl_name(table) VALUES ('$table')", $dbh2); 

사람이에 도움을 주시기 바랍니다 수

Array ([0] => Array ([0] => 414208 [InterestedEntityId] => 414208 [1] => 126.61370996251785 [Score] => 126.61370996251785) [1] => Array ([0] => 479516 [InterestedEntityId] => 479516 [1] => 73.531040944194 [Score] => 73.531040944194) [2] => Array ([0] => 4129769 [InterestedEntityId] => 4129769 [1] => 54.390965049372674 [Score] => 54.390965049372674) 

내가로 변환하려면?

답변

1

간단한 foreach 루프가 작업을 수행합니다.

멋진 테이블을 만들기 :

$output = '<table border="1">'; 
foreach($table as $row){ 
    $output .= '<tr><td>'.$row[0].'</td><td>'.$row[1].'</td></tr>'; 
} 
$output .= '</table>'; 
echo $output; 

일반 텍스트 : 솔루션으로

$output = ''; 
foreach($table as $row){ 
    $output .= $row[0].' '.$row[1].'<br>'; 
} 
echo $output; 
+1

$ output. = $ row [0]. '이어야합니다. '$ 행 [1]. '
'; (당신은 잊어 버렸습니다.
전에). 그러나 그것 이외에 그것은 완벽합니다. 정말 고마워요! – Shane

+0

@Shane 아하 네 말이 맞아. 니가 환영 해. :) – HamZa

0

을 문제하려면 다음 코드를 실행 해보세요.

<?php 
    try 
    { 
     $a=array(array(414208,126.61370996251785),array(414208,126.61370996251785)); 
     $string=''; 
     foreach($a as $key=>$value) 
     { 
      if(!is_array($value)) 
      { 
       throw new Exception('Not an array.'); 
      } 
      else 
      { 
      $string=join(' ',$value); 
      }   
      } 
     } 
    catch(Exception $e) 
    { 
    echo $e->getMessage(); 
    }  
    echo $string; 

?>