【发布时间】:2015-01-25 08:09:40
【问题描述】:
我有类似的东西:
$n = 2;
$items = array();
$result = array(); // new array with random items
$random_items = array_rand( $items, $n );
for( $f=0; $f<=$n; $f++ ) {
$result[] = $items[$random_items[$f]];
}
$items 有点像
Array ( [0] => file1.jpg [1] => file2.png [2] => file3.jpg ... and so on )
这工作正常...但如果我将 $n 设置为 1 则脚本无法运行或运行不正确!
如果 $n == 2(或更多)结果数组的最后一个元素的值为空
Array ( [0] => 20141125-17826a4b34.png [1] => 20141125-27fe57561d.jpg [2] => )
如果 $n == 1(完全正确)结果数组就像
Array ( [0] => [1] => )
结果数组应该与 items 数组的格式相同,但只有 $n 个随机项。
提前致谢!
工作
if( $n > 1 ) {
for( $f=0; $f<$n; $f++ ) {
$result[] = $items[$random_items[$f]];
}
}
elseif( $n == 1 ) {
$result[0] = $items[$random_items];
}
【问题讨论】:
-
问题 #1:
$f<=$n;应该是$f<$n;,虽然foreach($random_items as $f)会更容易