在PHP中将数组转换为字符串

时间:2013-04-21 12:40:32

标签: php mysql sql phpmyadmin

我现在已经坚持了一段时间。我确定有一个简单的解决方案,但我仍然围绕php。

我想从数据库中获取一些数据并将其保存到另一个数据库中。

使用SQL我设法获取该数据并将其保存在数组中。现在我想将该数据转换为字符串以保存到不同的数组(如果有一种方法直接执行该操作而不先保存到数组中,那么我就是耳朵)。

我以这种格式获取数据。

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 )

我想将其转换为:

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

有人可以帮忙吗?

2 个答案:

答案 0 :(得分: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 :(得分: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;

 ?>