使用循环添加到PHP中的关联数组

时间:2019-03-12 05:03:22

标签: php arrays associative-array

$usepassArray = explode(",", $implodedstuff);

for ($i = 0; $i < sizeof($usepassArray) ; $i = $i + 2)
{
    $finalArray += array($usepassArray[$i] => $usepassArray[$i + 1]);
}

所以我的$ usepassArray是一个8字符串长的用户名和密码数组。因此$ usepassArray [0]是用户名,[1]是密码。我试图建立一个关联数组来配对这些用户名和密码。我无法弄清楚如何将其附加到数组的末尾,由于某种原因,+ =返回错误,并且我一直在互联网上搜索了数小时,但没有任何反应。我得到的最接近的是数组中的数组。

1 个答案:

答案 0 :(得分:3)

目前尚不清楚您想要的最终结构是什么。如果它是用户名/密码对数组的数组,则只需更改此行即可:

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    RetrieveRecordsForDataGridView()
End Sub

Private Sub RetrieveRecordsForDataGridView()
    Dim dt As New DataTable
    Try
        Using cn As New MySqlConnection("Server=localhost; User=root;Password='';Database=lrbhams;")
            Dim state3 As String = "select boarder_fname, boarder_contact, guardian, guardian_number from boarders_info"
            Using command As New MySqlCommand(state3, cn)
                cn.Open()
                dt.Load(command.ExecuteReader())
            End Using
        End Using
    Catch ex As Exception
        MsgBox(ex.Message)
    End Try
End Sub

Private Sub DataGridView1_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles DataGridView1.CellContentClick
    If CBool(DataGridView1.Rows(e.RowIndex).Cells(2).Value) Then
        TextBox1.Text = DataGridView1.Rows(e.RowIndex).Cells(2).Value.ToString
    ElseIf CBool(DataGridView1.Rows(e.RowIndex).Cells(4).Value) Then
        TextBox1.Text = DataGridView1.Rows(e.RowIndex).Cells(4).Value.ToString
    End If
End Sub

$finalArray += array($usepassArray[$i] => $usepassArray[$i + 1]);

这将为您提供一个看起来像这样的结构:

$finalArray[] = array($usepassArray[$i] => $usepassArray[$i + 1]);

另一方面,如果您不想要该级别的嵌套,即您想要的东西看起来像这样:

[['user1' => 'pass1'],
 ['user2' => 'pass2'],
 ...
 ['usern' => 'passn']
]

然后将该行更改为此:

['user1' => 'pass1',
 'user2' => 'pass2',
 ...
 'usern' => 'passn'
]