【问题标题】:multidimensional array push in PHPPHP中的多维数组推送
【发布时间】:2020-08-27 07:16:37
【问题描述】:
    <?php
$userData = [
    [
        "UID" => "5f10482574d83d4b726fe5",
        "name" => "Yug Gill",
        "orgID" => "5f10481d74d83d4b726",
        "imageURL" => "female.png"
    ]
];

$userProductsData = [
    [
    "UPID" => "5f10482574d83d4b6fe007",
    "UID" => "5f10482574d83d4b726fe5",
    ]
];
$userDetailsResult = [];
foreach ($userData as $key => $value) {
    $userData[$key]["UPID"] = $userProductsData[$value["UID"]] ?? [];
}

预期输出

$userData = [
    [
        "UID" => "5f10482574d83d4b726fe5",
        "name" => "Yug Gill",
        "orgID" => "5f10481d74d83d4b726",
        "imageURL" => "female.png",
        "UPID" => "5f10482574d83d4b6fe007"
    ]
];

我有两个数组共用两个数组 UID,现在我想从 $userProductsData 获取 UPID 并推入 $userData,我尝试无法正常工作,请任何人更新我的代码 ?>

【问题讨论】:

  • $userProductsData[$value["UID"]] 变为 $userProductsData['5f10482574d83d4b726fe5'],并且该数组中没有该键的元素。
  • 循环每个$userProductsData,然后在内部循环每个$userData,然后使用if
  • 为什么是$userDetailsResult = [];

标签: php php-7


【解决方案1】:

试试这个。


$userData = [
    [
        "UID" => "5f10482574d83d4b726fe5",
        "name" => "Yug Gill",
        "orgID" => "5f10481d74d83d4b726",
        "imageURL" => "female.png"
    ]
];

$userProductsData = [
    [
    "UPID" => "5f10482574d83d4b6fe007",
    "UID" => "5f10482574d83d4b726fe5",
    ]
];
$userDetailsResult = [];

foreach ($userProductsData as $key => $value) {
    $userData[$key]["UPID"] = $value['UPID'];
   
}

print_r($userData);

【讨论】:

  • 单循环我们无法做到这一点?
  • 单循环是什么意思?是因为 2 个 foreach 循环吗?如果是这种情况,您实际上可以删除第一个 foreach 循环。
【解决方案2】:

您的$userProductsData 是一个常规数组,它具有索引 0、1、2 等...然后您尝试通过字符串键 "5f10482574d83d4b726fe5" 从该数组中获取一个项目。

$userProductsData 应该是这样的键数组:

$userProductsData = [
    "5f10482574d83d4b726fe5" => [
        "UPID" => "5f10482574d83d4b6fe007",
        "UID" => "5f10482574d83d4b726fe5",
    ],
];

那么你就可以通过key"5f10482574d83d4b726fe5"从这个数组中获取一个item了。

【讨论】:

    猜你喜欢
    • 2017-08-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-07
    • 1970-01-01
    • 2011-12-14
    相关资源
    最近更新 更多