2010-08-25 213 views
2

我想知道如何将字符串变量添加到当前数组。例如,我有一个名为$finalarray的数组。然后我有一个循环,每次运行都会增加一个值。基本上:PHP - 将字符串添加到数组

$finalarray = $results_array + string; 

一个非常基本的结构。我正在使用这个MySQL,以便我可以检索列的最后一个数组。

$query = "SELECT * FROM table"; 
$showresult = mysql_query($query); 

while($results_array = mysql_fetch_assoc($showresult)) 
{ 
    $finalarray = $finalarray + $results_array["column"]; 
} 

编辑:

目前使用此代码(仍然没有工作):

$query = “SELECT * FROM table”; 
$showresult = mysql_query($query); 

while($results_array = mysql_fetch_assoc($showresult)) 
{ 
    $finalarray[] = $results_array["name"]; 
} 

echo $finalarray; 

的问题是,它只是说, “阵列”

感谢,

凯文

回答

4

回答你edited问题:

你不能只使用单打印一张echo整个数组内容。相反

使用

var_dump($finalarray); 

print_r($finalarray); 

打印数组内容..

4

使用[]表示法。 +用于联合两个数组。

$array = array('foo'); 

$array[] = 'bar'. 

// $array == array('foo', 'bar') 
+0

如果我添加了两个支架,我的阵列是一个列表一遍又一遍地说“数组”的字符串。 – lab12 2010-08-25 03:12:18

+0

@Kevin您能向我们展示发生这种事情的实际代码吗? – deceze 2010-08-25 03:14:10

+0

在问题中编辑。 – lab12 2010-08-25 03:50:46

1

看看这个

$query = "SELECT * FROM table"; 
$showresult = mysql_query($query); 

while($results_array = mysql_fetch_assoc($showresult)) 
{ 
    $finalarray[] = $results_array["column"]; 
} 

// Add X to the end of the array 
$finalarray[] = "X"; 
3

可以使用功能array_push[]符号:

array_push($array, 'hi'); 

$array[] = 'hi'; 
+0

这段代码实际在做什么?我不明白为什么要将“hi”推到数组中,但是然后将hi分配给数组的末尾。你不是基本上加了两次吗? – NDEIGU 2015-05-25 12:14:24

0

Codaddict是正确的。您正在寻找输出添加到数组的最后一个元素。

echo end($final_array); 

这将移动数组的指针添加到它的最后一个元素,然后输出它。既然你要添加的元素以这种方式排列...

$finalarray[] = $results_array["name"]; 

为每个元素的关键将是连续的,0,1,2,3 ......等等等等。另一个不那么优雅的解决方案,以获得最后一个元素会...

echo $final_array[count($final_array) - 1]; 
0
echo implode($finalarray); 

或者用自定义加入“胶水”

echo implode(', ', $finalarray);