2011-01-13 126 views
0

所以这个问题可能很基础。如何将PHP元素添加到PHP中的数组

我想从SQL表中选定的元素创建一个数组。

我目前正在使用:

$rcount = mysql_num_rows($result); 

for ($j = 0; $j <= $rcount; $j++) 
{ 
    $row = mysql_fetch_row($result); 
    $patients = array($row[0] => $row[2]); 
} 

我想这回像这样的数组:

$patients = (bob=>1, sam=>2, john=>3, etc...) 

不幸的是,以目前的形式,这个代码是复制没什么数组或者只复制最后一个元素。

+0

我真的不明白你想在这里做的,用在了什么for循环,你没有使用变量j。请更清楚, – tkt986 2011-01-13 02:28:03

回答

2

试试这个。

$patients = array(); 
while ($row = mysql_fetch_row($result)) { 
    $patients[$row[0]] = $row[2]; 
} 

如果它不起作用,那么您的查询出现问题。

+0

这更接近我想要的,但我试图避免在数组中有数组。有没有办法修改这个,以便我没有Array([0] => Array([bob] => 5)[1] => Array([fred] => 1)),而是Array([ bob] => 5,[fred] => 1)?谢谢。 – 2011-01-13 02:43:12

0

可以使用print_r()

这里有一个例子

<pre> 
<?php 
$a = array ('a' => 'apple', 'b' => 'banana', 'c' => array ('x', 'y', 'z')); 
print_r ($a); 
?> 
</pre> 

更这里http://php.net/manual/en/function.print-r.php

+0

即时通讯不知道我明白,这不会打印阵列中的元素后,我已经创建它。此外,据我了解,这不会允许我只选择表中的某些元素放入数组中。 – 2011-01-13 02:34:28

0

如何:

while($row = mysql_fetch_assoc($result)){ 
     $arr_row=array(); 
     $count=0; 
     while ($count < mysql_num_fields($result)) {  
      $col = mysql_fetch_field($result, $count); 
      $arr_row[$col -> $count] = $row[$col -> $count];   
      $count++; 
} 

但我不知道这是你在找什么,只是猜测..'mount