我有如下所述的数组方式,希望将每个数组特定值填充到下一个重复键,直到第7个数字。
INPUT:
Array
(
[0] => 2015-02-07
[1] => 2015-02-14
[2] => 2015-02-21
)
预期输出:
例外输出就像
Array
(
[0] => 2015-02-07,
[1] => 2015-02-07,
[2] => 2015-02-07,
[3] => 2015-02-07,
[4] => 2015-02-07,
[5] => 2015-02-07,
[6] => 2015-02-07,
[7] => 2015-02-14,
[8] => 2015-02-14,
[9] => 2015-02-14,
[10] => 2015-02-14,
[11] => 2015-02-14,
[12] => 2015-02-14,
[13] => 2015-02-14,
[14] => 2015-02-21,
[15] => 2015-02-21,
[16] => 2015-02-21,
[17] => 2015-02-21,
[18] => 2015-02-21,
[19] => 2015-02-21,
[20] => 2015-02-21
)
答案 0 :(得分:1)
试试这个
<?php
$array =array('2015-02-07','2015-02-14','2015-02-21');
$arr1='';
foreach($array as $val)
{
for($i= 0; $i < 7; $i++)
{
$arr1[]=$val;
}
}
echo "<pre>"; print_r($arr1);
?>
这将输出
Array
(
[0] => 2015-02-07
[1] => 2015-02-07
[2] => 2015-02-07
[3] => 2015-02-07
[4] => 2015-02-07
[5] => 2015-02-07
[6] => 2015-02-07
[7] => 2015-02-14
[8] => 2015-02-14
[9] => 2015-02-14
[10] => 2015-02-14
[11] => 2015-02-14
[12] => 2015-02-14
[13] => 2015-02-14
[14] => 2015-02-21
[15] => 2015-02-21
[16] => 2015-02-21
[17] => 2015-02-21
[18] => 2015-02-21
[19] => 2015-02-21
[20] => 2015-02-21
)
答案 1 :(得分:1)
略过所有for ...
,foreach ...
,$i= ...
,$i< ...
,$i++
,while ...
典礼并开始使用各种功能。
以下是使用array_reduce
,array_merge
和array_fill
执行此操作的功能方法。
$xs = ['2015-02-07', '2015-02-14', '2015-02-21'];
$result = array_reduce($xs, function($ys, $x) {
return array_merge($ys, array_fill(0, 7, $x));
}, []);
print_r($result);
输出
Array
(
[0] => 2015-02-07
[1] => 2015-02-07
[2] => 2015-02-07
[3] => 2015-02-07
[4] => 2015-02-07
[5] => 2015-02-07
[6] => 2015-02-07
[7] => 2015-02-14
[8] => 2015-02-14
[9] => 2015-02-14
[10] => 2015-02-14
[11] => 2015-02-14
[12] => 2015-02-14
[13] => 2015-02-14
[14] => 2015-02-21
[15] => 2015-02-21
[16] => 2015-02-21
[17] => 2015-02-21
[18] => 2015-02-21
[19] => 2015-02-21
[20] => 2015-02-21
)
答案 2 :(得分:0)
你可以试试这个:
$arrayDestination = array();
foreach($arraySource as $value) {
for ($i=0 ; $i<7 ; $i++) {
$arrayDestination[] = $value;
}
}
答案 3 :(得分:0)
{{1}}
答案 4 :(得分:0)
$arrFirstArray = array(
'0'=>'2015-02-07',
'1'=>'2015-02-14',
'2'=>'2015-02-21',
);
$intFirstArray = count($arrFirstArray);
$arrSecondArray = array();
for($intI=0;$intI<$intFirstArray;$intI++)
{
for($intJ=0;$intJ<7;$intJ++){
global $arrSecondArray;
$arrSecondArray[] = $arrFirstArray[$intI];
}
}
echo '<pre>';
print_r($arrSecondArray);
这样可行。