我有两个数组:
$divs = array('One','Two','Three','Four','Five','Six');
$ads = array ('Ad1', 'Ad2', 'Ad3');
我希望像这样合并:
$mix_divs = array_merge($divs, $reklama);
但是, $ divs 必须保持在同一个地方,在这些地方之间我需要添加随机 $ ads 数组。
shuffle($ads);
最终输入必须是这样的:
$mix_divs = array('One','Two','Ad2','Three','Four','Ad3','Five','Six','Ad1');
或
$mix_divs = array('Ad2','One','Two','Ad1','Three','Four','Five','Ad3','Six');
$ ads必须随机插入。
我该怎么做?感谢
答案 0 :(得分:1)
您只需在div中随机插入每个广告:
$divs = array('One','Two','Three','Four','Five','Six');
$ads = array ('Ad1', 'Ad2', 'Ad3');
$newArray = array_merge($divs);
for ($i = 0; $i < count($ads); $i++) {
$position = rand(0, count($newArray));
array_splice($newArray, $position, 0, $ads[$i]);
}
我刚尝试print_r($newArray)
,它给了我:
Array
(
[0] => One
[1] => Two
[2] => Three
[3] => Ad2
[4] => Four
[5] => Ad1
[6] => Five
[7] => Ad3
[8] => Six
)
答案 1 :(得分:1)
$divs = array('One','Two','Three','Four','Five','Six');
$ads = array('Ad1', 'Ad2', 'Ad3');
shuffle($ads);
while ($ads) array_splice($divs, array_rand($divs), 0, array_pop($ads));
print_r($divs);
输出:
Array
(
[0] => Ad1
[1] => One
[2] => Two
[3] => Ad3
[4] => Three
[5] => Four
[6] => Five
[7] => Ad2
[8] => Six
)