簡體   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