📅  最后修改于: 2023-12-03 15:14:37.714000             🧑  作者: Mango
该函数用于从一些人的照片中随机获取两张照片,并返回这两张照片的数组。
函数包含一个参数 $twoRandomPhotosOfSomePeoples
,该参数必须是一个数组,表示所有人的照片集合。该数组必须包含至少两个元素,每个元素应该是一个表示某个人的照片的数组。
例如,可以如下组织 $twoRandomPhotosOfSomePeoples
的元素:
$twoRandomPhotosOfSomePeoples = [
[
'name' => 'John',
'photo' => 'img/john.jpg'
],
[
'name' => 'Jane',
'photo' => 'img/jane.jpg'
],
[
'name' => 'Tom',
'photo' => 'img/tom.jpg'
]
]
函数会随机选择两张不同的照片,用一个表示这两张照片的数组返回。结果的格式如下:
['photo1' => 'img/jane.jpg', 'photo2' => 'img/tom.jpg']
函数的实现源码如下:
function db($twoRandomPhotosOfSomePeoples) {
$total = count($twoRandomPhotosOfSomePeoples);
if ($total < 2) {
return ['error' => 'The total number of photos is less than 2'];
}
$photoIndex1 = rand(0, $total - 1);
$photoIndex2 = rand(0, $total - 1);
while ($photoIndex2 == $photoIndex1) {
$photoIndex2 = rand(0, $total - 1);
}
$photo1 = $twoRandomPhotosOfSomePeoples[$photoIndex1]['photo'];
$photo2 = $twoRandomPhotosOfSomePeoples[$photoIndex2]['photo'];
return ["photo1" => $photo1, "photo2" => $photo2];
}
用法示例:
$twoRandomPhotos = db($twoRandomPhotosOfSomePeoples);
echo "Which picture do you prefer?\n";
echo "1. <img src=\"" . $twoRandomPhotos['photo1'] . "\" />\n";
echo "2. <img src=\"" . $twoRandomPhotos['photo2'] . "\" />\n";
结果将是一个包含两张随机照片的数组,并以 markdown 格式返回上述代码片段。