Php 如何循环多维数组以从每种颜色中获得随机图像?
我希望在下面的数组中循环,然后用每个颜色数组中的一个随机图像填充一个Php 如何循环多维数组以从每种颜色中获得随机图像?,php,arrays,multidimensional-array,Php,Arrays,Multidimensional Array,我希望在下面的数组中循环,然后用每个颜色数组中的一个随机图像填充一个。我很难理解如何访问特定的颜色数组。。。我需要打圈吗?或者array\u rand()就足够了吗?我该怎么办 $colors=数组( “绿色”=>数组( “images/green1.jpg”, “images/green2.jpg”, ‘images/green3.jpg’, “images/green4.jpg”, “images/green5.jpg” ), “红色”=>数组( “/images/red1.jpg”, “/
。我很难理解如何访问特定的颜色数组。。。我需要打圈吗?或者array\u rand()
就足够了吗?我该怎么办
$colors=数组(
“绿色”=>数组(
“images/green1.jpg”,
“images/green2.jpg”,
‘images/green3.jpg’,
“images/green4.jpg”,
“images/green5.jpg”
),
“红色”=>数组(
“/images/red1.jpg”,
“/images/red2.jpg”,
“/images/red3.jpg”,
“/images/red4.jpg”,
“/images/red5.jpg”
),
“蓝色”=>数组(
“/images/blue1.jpg”,
“/images/blue2.jpg”,
“/images/blue3.jpg”,
“/images/blue4.jpg”,
“/images/blue5.jpg”
),
“紫色”=>数组(
“/images/purple1.jpg”,
“/images/purple2.jpg”,
“/images/purple3.jpg”,
“/images/purple4.jpg”,
“/images/purple5.jpg”
)
);
颜色
- “来自“绿色”阵列的1个img将放在此处”
- “1个来自“红色”阵列的img将放在这里”
- “蓝色阵列中的1个img将放在此处”
- “紫色阵列中的1个img将放在这里”
foreach($colors作为$color){
$image=array\u rand($color);
回显“”.$color[$image]。 ”;
}
foreach($colors作为$color){
$image=array\u rand($color);
回显“”.$color[$image]。 ”;
}
如您所述,可以使用,但需要循环使用颜色。对于每个图像,获取一个随机图像:
$arr = array();
foreach($colors as $k=>$v){
$arr[] = $v[array_rand($v)];
}
print_r($arr);
产出1:
Array
(
[0] => images/green3.jpg
[1] => /images/red3.jpg
[2] => /images/blue2.jpg
[3] => /images/purple1.jpg
)
再次运行:
Array
(
[0] => images/green5.jpg
[1] => /images/red3.jpg
[2] => /images/blue1.jpg
[3] => /images/purple4.jpg
)
如果您想像问题中那样输出它,它应该是这样的:
// div span ul
$arr = array();
foreach($colors as $k=>$v){
echo '<li><img src="' . $v[array_rand($v)] . '"></li>';
}
// /div /ul
//div span ul
$arr=array();
foreach($k=>v的颜色){
回音“”;
}
///div/ul
旁注:
- 数组中的
URL缺少前导的绿色
(或者其他颜色都有备用的,我不知道)李>/
- 此代码不检查图像是否存在(/)
$arr = array();
foreach($colors as $k=>$v){
$arr[] = $v[array_rand($v)];
}
print_r($arr);
产出1:
Array
(
[0] => images/green3.jpg
[1] => /images/red3.jpg
[2] => /images/blue2.jpg
[3] => /images/purple1.jpg
)
再次运行:
Array
(
[0] => images/green5.jpg
[1] => /images/red3.jpg
[2] => /images/blue1.jpg
[3] => /images/purple4.jpg
)
如果您想像问题中那样输出它,它应该是这样的:
// div span ul
$arr = array();
foreach($colors as $k=>$v){
echo '<li><img src="' . $v[array_rand($v)] . '"></li>';
}
// /div /ul
//div span ul
$arr=array();
foreach($k=>v的颜色){
回音“”;
}
///div/ul
旁注:
- 数组中的
URL缺少前导的绿色
(或者其他颜色都有备用的,我不知道)李>/
- 此代码不检查图像是否存在(/)
foreach ($colors as $color){
//This gets you each color array in turn, in here you can
//use array_rand() to get a random entry from each array.
}
我想做一些类似的事情
foreach ($colors as $color){
//This gets you each color array in turn, in here you can
//use array_rand() to get a random entry from each array.
}
这对我很有用:
<?php
$colors = array(
'green' => array(
'images/green1.jpg',
'images/green2.jpg',
'images/green3.jpg',
'images/green4.jpg',
'images/green5.jpg'
),
'red' => array(
'/images/red1.jpg',
'/images/red2.jpg',
'/images/red3.jpg',
'/images/red4.jpg',
'/images/red5.jpg'
),
'blue' => array(
'/images/blue1.jpg',
'/images/blue2.jpg',
'/images/blue3.jpg',
'/images/blue4.jpg',
'/images/blue5.jpg'
),
'purple' => array(
'/images/purple1.jpg',
'/images/purple2.jpg',
'/images/purple3.jpg',
'/images/purple4.jpg',
'/images/purple5.jpg'
)
);
?>
<div>
<span>Colors</span>
<ul>
<?php
foreach ($colors as $key=>$value){
echo '<li>'.$value[array_rand($value,1)]."</li>";
}
?>
</ul>
</div>
颜色
这对我很有用:
<?php
$colors = array(
'green' => array(
'images/green1.jpg',
'images/green2.jpg',
'images/green3.jpg',
'images/green4.jpg',
'images/green5.jpg'
),
'red' => array(
'/images/red1.jpg',
'/images/red2.jpg',
'/images/red3.jpg',
'/images/red4.jpg',
'/images/red5.jpg'
),
'blue' => array(
'/images/blue1.jpg',
'/images/blue2.jpg',
'/images/blue3.jpg',
'/images/blue4.jpg',
'/images/blue5.jpg'
),
'purple' => array(
'/images/purple1.jpg',
'/images/purple2.jpg',
'/images/purple3.jpg',
'/images/purple4.jpg',
'/images/purple5.jpg'
)
);
?>
<div>
<span>Colors</span>
<ul>
<?php
foreach ($colors as $key=>$value){
echo '<li>'.$value[array_rand($value,1)]."</li>";
}
?>
</ul>
</div>
颜色
谢谢!这正是我要找的。使用多维数组会让我头疼…@airconductor,没问题。我很乐意帮忙。我知道在这个问题中数组看起来很格式化,但是做了一个echo';打印(数组名称);回声'代码>帮助很大。至少对我来说是这样…好建议,下次我处理数组时,我会尝试一下。干杯谢谢!这正是我要找的。使用多维数组会让我头疼…@airconductor,没问题。我很乐意帮忙。我知道在这个问题中数组看起来很格式化,但是做了一个echo';打印(数组名称);回声'代码>帮助很大。至少对我来说是这样…好建议,下次我处理数组时,我会尝试一下。干杯您应该始终在代码后面提供信息。您应该始终在代码后面提供信息。