Trước hết, xin lỗi nếu điều này được diễn đạt kém, vì tôi là người mới bắt đầu theo mã.Sử dụng các biến ngẫu nhiên bên trong các mảng
Tôi hiện đang làm việc trên một khóa học khoa học máy tính trực tuyến, tuy nhiên tôi khá bối rối về cách thực hiện một phần nhỏ. Chúng tôi cần sử dụng mảng cho hoạt động này, trong đó người dùng có nhiều lựa chọn và mỗi lựa chọn khác nhau có đầu ra văn bản khác nhau/duy nhất. Tất cả mọi thứ hoạt động tốt, ngoại trừ tôi cần một tùy chọn để chọn một lựa chọn ngẫu nhiên, tuy nhiên tôi là một chút bối rối về cách làm cho nó. Bạn có thể thấy từ mã của tôi các tùy chọn 1-8. Tôi muốn nó chọn ngẫu nhiên một trong các lựa chọn.
Dưới đây là mã của tôi:
<?php
$train[0] = "Canada";
$train[1] = "Sahara Desert";
$train[2] = "Russia";
$train[3] = "Chernobyl";
$train[4] = "United States";
$train[5] = "North Korea";
$train[6] = "Germany";
$train[7] = "Hawaii";
?>
<!DOCTYPE html>
<html>
<head>
Took out everything here, it's not important.
</head>
<body>
<center>
<h1>Vacation Time!</h1>
<h4>You and your family just won the lottery! You all want to go on vacation, but nobody can agree where to go. Inside each train cart has a card with a location written on it. Whatever you find is where you're going! </h4>
<form name="form1" action="activity-2-7-arrays-a.php" method="post">
<label>Which cart on the train do you want to choose?</label>
<br>
<select name="cart" required>
<option value="1">First Cart</option>
<option value="2">Second Cart</option>
<option value="3">Third Cart</option>
<option value="4">Fourth Cart</option>
<option value="5">Fifth Cart</option>
<option value="6">Sixth Cart</option>
<option value="7">Seventh Cart</option>
<option value="8">Eight Cart</option>
<option value="show">Show all options</option>
<option value="any">Choose Randomly</option>
<br>
</select><br/>
<input type="submit" name="subButton" class="subButton" value="Go!"/><br/>
</form>
<h1><u>Final Results</u></h1>
<?php
if($_POST['subButton']) {
$cart = $_POST['cart'];
$roll = rand(1,9);
if($cart == show) {
for($x = 1; $x <= 9; $x++) {
echo "<p> You could have ender up in... </p>";
echo "<h2> " . $train[$x] . "</h2>";
}
return;
}
echo "<h2>"."Well, it looks like you're going to " . $train[$cart] . "! Have fun! </h2>";
}
return;
if ($cart == $roll) {
}
echo "<h2>"."Can't handle the pressure? You were selected to go to " . $train[$roll] . "! Have fun! </h2>";
?>
Tôi chắc chắn đó là một chút lộn xộn, cũng có. Hy vọng rằng bạn hiểu ý tôi. Nếu bạn có thể giải thích câu trả lời cho tôi, điều đó sẽ cực kỳ hữu ích. Cảm ơn bạn :)
Bài kiểm tra của bạn 'if ($ cart == $ roll)' là sai. Bạn đang so sánh lựa chọn của người dùng với số ngẫu nhiên bạn vừa tạo. Hãy xem xét các câu lệnh khác của bạn nếu có, và tôi nghĩ bạn có thể tìm ra nó. –
Có một số vấn đề với mã: Đầu tiên bạn nên thay đổi 'if ($ cart == show)' thành 'if ($ cart == 'show')'. Thứ hai, bạn nên định nghĩa $ train như một mảng để đặt '$ train = array()' ở trên cùng. Để trả lời câu hỏi của bạn, tôi nghĩ bạn nên sử dụng 'array_shuffle()' trên $ train để ngẫu nhiên danh sách. –
Bạn nên đặt 'mảng_shuffle ($ train);' trước khi bạn lặp lại kết quả ("Vâng, có vẻ như bạn sẽ ..."). Ngoài ra, tất cả các công cụ trong câu lệnh 'return;' thứ hai sẽ không chạy vì 'return;', nhưng bạn không cần anyways đó. –