【问题标题】:How to add new key-value to existing array in PHP如何在 PHP 中向现有数组添加新的键值
【发布时间】:2014-11-23 11:30:32
【问题描述】:

我在 PHP 中有一个表单,它接受两个值:server_iduser_id(可以由',' 分隔多个)。我从表中检索一些数据并将它们存储为数组。使用相同的server_iduser_id,我想从另一个表中检索更多信息,但将它们存储到同一个数组中。

这是我目前所拥有的。

//Data from PHP form stored in array
$inputData = Array ( [server_id] => 10 
                        [user_id] => Array ( [0] => 111[1] => 222) ) 

//Existing array storing data retrieved from persons table
$userData = 
Array 
( 
    [0] => Array 
        (

            [user_id] => 111
            [server_id] => 10
            [user_name] => Harry Pottter 
            [user_age] => 18 ) 

    [1] => Array 
        ( 
            [user_id] => 222 
            [server_id] => 10 
            [user_name] => Hermione
            [user_age] => 18 ) 
)

//retrieving additional data from user_contact table
$sql = "SELECT user_phone, user_address FROM user_contact 
        WHERE user_id = ? AND server_id = ?";

foreach($user_id as $user)
{
    $statement= $DB->link->prepare($sql);
    $statement->bind_param("si", $server_id, $user);
    $statement->execute();

    if($resultSet = $statement->get_result())
    {
        while($row = $resultSet->fetch_assoc())
        {
            userData[$key]['user_phone'] = $row['user_phone'];
            userData[$key]['user_address'] = $row['user_address'];
        }
    }
}

【问题讨论】:

  • 所以你想在 foreach 中进行另一个查询?
  • 如果$key = count($userData)(你使用$,对于userData,对),那么你应该做的,从我所看到的。
  • @Ghost - 我需要用完全不同的配置查询另一个数据库,所以是的,我需要循环它,除非有任何其他方法可以做到这一点,无论哪种方式我都可以。
  • @JeremyMiller - 是的,userData 应该有一个 $。
  • @Cryssie 好吧,您可以只创建一个查询连接来提取其他信息,很可能其他表已连接对吗?

标签: php mysql associative-array keyvaluepair


【解决方案1】:

尝试使用 array_push()

喜欢

<?php
$stack = array("orange", "banana");
array_push($stack, "apple", "raspberry");
print_r($stack);
?>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-10-26
    • 1970-01-01
    • 2020-07-27
    • 1970-01-01
    • 2023-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多