繁体   English   中英

Loop内部的Shuffle值和与数组连接

[英]Shuffle value inside Loop and concatenate with array

我确实有一个要求,在一个数组里面我需要洗牌。

下面是代码片段

$vehicle = array('hcv','hcv','hcv','hcv','hcv','hcv','hcv','hcv','hcv','hcv');
$RequiredVehicle = 3;

$vehicleList = array();


for($i=0;$i<count($vehicle);$i++)
{
  $vehicleList[] =$vehicle[$i].$RequiredVehicle;
}

echo "<pre>";
print_r($vehicleList);

输出我得到的是

Array
(
    [0] => hcv3
    [1] => hcv3
    [2] => hcv3
    [3] => hcv3
    [4] => hcv3
    [5] => hcv3
    [6] => hcv3
    [7] => hcv3
    [8] => hcv3
    [9] => hcv3
)

我需要的实际输出是

Array
(
    [0] => hcv1
    [1] => hcv2
    [2] => hcv3
    [3] => hcv1
    [4] => hcv2
    [5] => hcv3
    [6] => hcv1
    [7] => hcv2
    [8] => hcv3
    [9] => hcv1
)

10辆车和3辆所需车辆所以我需要的输出是总车辆应该在3辆所需车辆之间洗牌

如果$ vehicle = 10且$ RequiredVehicle = 3则Array值应为1,2,3,1,2,3,1,2,3,1

如果它的$ vehicle = 10和$ RequiredVehicle = 2那么Array值应该是1,2,1,2,1,2,1,2,1,2

那是因为你只是追加$RequiredVehicle

您可以使用模数% $i并添加1. Like ( ( $i % $RequiredVehicle ) + 1 )

$vehicle = array('hcv','hcv','hcv','hcv','hcv','hcv','hcv','hcv','hcv','hcv');
$RequiredVehicle = 3;

$vehicleList = array();
for($i=0;$i<count($vehicle);$i++)
{
   $vehicleList[] =$vehicle[$i] . ( ( $i % $RequiredVehicle ) + 1 );
}

echo "<pre>";
print_r($vehicleList);

这将导致:

Array
(
    [0] => hcv1
    [1] => hcv2
    [2] => hcv3
    [3] => hcv1
    [4] => hcv2
    [5] => hcv3
    [6] => hcv1
    [7] => hcv2
    [8] => hcv3
    [9] => hcv1
)

希望它能提供你的实际输出:)

 $vehicle = array('hcv','hcv','hcv','hcv','hcv','hcv','hcv','hcv','hcv','hcv');
$RequiredVehicle = 3;

$vehicleList = array();

$j = 1 ;
for($i=0;$i<count($vehicle);$i++)
{

  $vehicleList[] =$vehicle[$i].$j++;
  if($j > $RequiredVehicle){
     $j=1;
}
}

echo "<pre>";
print_r($vehicleList);

输出:

Array
(
    [0] => hcv1
    [1] => hcv2
    [2] => hcv3
    [3] => hcv1
    [4] => hcv2
    [5] => hcv3
    [6] => hcv1
    [7] => hcv2
    [8] => hcv3
    [9] => hcv1
)

暂无
暂无

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

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