PHP将值推送到子数组的键中

问题描述 投票:-1回答:3

我有一个meta数组,我正在为一个看起来像这样的用户保存

$testArray = array("67" => array("400", "402", "1488"), "84" => array("599", 620"), "92" => array("740")

如果不存在用户数组,我需要在给定键和值的情况下构建它

$testArray = ["67" => ["400"]]

如果$ testArray不为空,我需要使用我知道的密钥来查找相应的数组并添加给定的值

$testArray["67"][] = "1500"

所以输出应该是

array("67" => array("400", "1500"))

此方法不会向存在的数组添加任何内容,并且我尝试的每个组合都不添加任何内容或嵌套数组

php push associative-array
3个回答
0
投票

您是否正在寻找以下内容:

$key = "red";
$valOne = "blue";
$valTwo = "green";
$alpha = get_data_array();
if(count($alpha))
{
   $finalArr = [$key => [$valOne,$valTwo]];
}

0
投票

您可以创建一个虚拟数组来存储$valOne$valTwo,并将此虚拟数组作为键的值。

$dummy = array();
array_push($dummy, $valOne, $valTwo);
if (!empty($alpha)) {
    $alpha[$key] = $dummy;
} else {
    $alpha = array($key => $dummy);
}

0
投票

从函数get_data_array()获取关联数组;

$alpha = get_data_array();

假设您要将以下数据添加到$ alpha变量中

$key = "red";
$valOne = "blue";
$valTwo = "green";

方法1:如果你知道只需要添加几个变量

$alpha[$key][] = $valOne;
$alpha[$key][] = $valTwo;

原因,我们知道应该在列表中添加的变量名称,它基于不同的变量名称。如果变量不存在,PHP将创建变量,所以当我们$ alpha [$ key] []时,如果它没有退出,它将为密钥创建一个内存,如果它已经存在,则最后附加到数组。

方法2:如果我们从另一个数组追加

$valuesToAdd = array( $valueOne, $valTwo );

这里,$ valueToAdd可以在数组中包含多个值。它可能来自某些外部源,API或用户输入(如标签)。在这种情况下,您可以执行以下代码

foreach( $valuesToAdd as $element ){
    $alpha[$key][] = $element;
}

在这里,我们循环来自$ valueToAdd的每个元素,并且每次都分配给$ element,因此使用键将值附加到$ alpha。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.