繁体   English   中英

如何使用循环基于特定值动态创建新数组 PHP

[英]How to dynamically create a new array based on a specific value with a loop PHP

例如,我有一个这样的数组:

$a1=array("U001","U002");
/*
Output:
Array ( 
    [0] => U001 
    [1] => U002 
    )
*/

我想创建一个新数组,其元素数量基于一个值,例如,如果值为 2,则数组变为:

$values: 2
$a1=array("U001","U002");
$newArr=array("U001","U001","U002","U002");
/*
Output:
Array ( 
    [0] => U001 
    [1] => U001 
    [2] => U002 
    [3] => U002 
    )
*/

此外,如果数组本身由 3 组成,并且值为 3,则:

$values: 3
$a1=array("U001","U002","U003");
$newArr=array("U001","U001","U001","U002","U002","U002","U003","U003","U003");
/*
Output:
Array ( 
    [0] => U001 
    [1] => U001 
    [2] => U001 
    [3] => U002 
    [4] => U002 
    [5] => U002 
    [6] => U003 
    [7] => U003 
    [8] => U003 
    )
*/

如何创建动态 function 来创建这个新数组? 我正在考虑添加一个 if-else,但我不知道如何在循环过程中使用它..

谢谢你的帮助

好像您正在合并多个数组。 您可以使用array_merge

$a = ["a", "b"];
$b = ["c", "d"];

$c = array_merge($a, $b);

print_r($c);

//Output:
/*
Array
(
    [0] => a
    [1] => b
    [2] => c
    [3] => d
)
*/

尝试这个

$a1=["U001","U002"];
$values = 5;
$newArray = [];
foreach($a1 as $item) {
  for ($i= 0; $i < $values; $i++) {
    $newArray[] = $item;
  }
}

所以就像凯文在评论中建议的那样,代码就是这样

$a1=array("U001","U002");

    foreach($a1 as $x) {
        for ($i=0; $i < count($a1); $i++) { 
            echo $x. "</BR>";
        }

暂无
暂无

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

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