繁体   English   中英

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

[英]PHP push value into sub array of key

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

$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"))

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

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

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

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

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

从函数 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。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM