如何在php中从复杂数组中提取数据?

时间:2010-12-09 09:41:49

标签: php database multidimensional-array

我正在以下列形式创建帖子:

while ( $tracks = mysql_fetch_array($trackstring) ){
    $tracks = mysql_fetch_array($trackstring) ){
echo "<li class="tracklist">
<input type="text" name="tracknum-[$tracks['song_id']]" 
value="".$tracks['song_tracknumber']"/> 
<input type="text" name="trackname[$tracks['song_id']]" 
value="".$tracks['song_title'].""/> 
</li>";
    }

它正在创建一个如下所示的$ _POST数组:

Array ( [tracknum] => Array ( [13] => 1 [14] => 2 [15] => 3 ) [trackname] => Array ( [13] => One Beat [14] => Faraway [15] => Oh! ) 

基本上我想要 1 - One Beat进入id = 13 2 - 遥远地进入id = 14

我可以看到那里的所有数据,但我不确定如何操纵它...我对数组不太热。如何使用涉及id值

的$ _POST ['????']来引用它们

3 个答案:

答案 0 :(得分:3)

使用

$_POST['trackname'][13]

获得“一拍”。

答案 1 :(得分:0)

尝试使用

print_r($_POST);

这将使您的POST明显缩进,因此您可以轻松浏览它。

然后,如果您仍然需要帮助,请编辑您的问题以使其更清晰。

答案 2 :(得分:0)

非常感谢站点论坛上的颅骨:)

$tracknum = $_POST['tracknum'];
$trackname = $_POST['trackname'];
if(count($tracknum) == count($trackname)){ // make sure both the array have same elements
    foreach($tracknum as $songid=>$tracknumber){
        $song_tracknumber = $tracknum[$songid];
        $song_title = $trackname[$songid];
        $sql = "UPDATE songs SET song_tracknumber='$song_tracknumber', song_title='$song_title' WHERE song_id=$songid";
    }
}