我想知道2D数组中这些循环之间的区别是什么:
for (int r = row - 1, c = column - 1; r >= 0 && c >= 0; r--, c--) {
...
}
for(int r=row-1;r>=0;r--){
for(int c=column-1;c>=0;c--){
...
}
}
答案 0 :(得分:3)
for (int r = row - 1, c = column - 1; r >= 0 && c >= 0; r--, c--)
第一个示例是一个循环,每个循环递减r
和c
,这意味着索引r
和c
将从{{1}开始绘制对角线}}。
array[row-1][column-1]
第二个示例为每个行索引调用一个循环,因此它将访问 all 索引for(int r=row-1;r>=0;r--){
for(int c=column-1;c>=0;c--){
答案 1 :(得分:3)
我假设您要求单个外部循环和嵌套循环之间的区别。不同之处在于单个循环将遍历2D数组的对角线和嵌套循环,迭代遍历数组的每个索引。例如,如果有6行和4列,那么:
for (int r = row - 1, c = column - 1; r >= 0 && c >= 0; r--, c--) {
System.out.println(r + " " + c);
}
将产生:
5 3
4 2
3 1
2 0
而嵌套循环
for(int r=row-1; r>=0; r--) {
for(int c=column-1; c>=0; c--) {
System.out.println(r + " " + c);
}
}
会产生
5 3
5 2
5 1
5 0
4 3
4 2
4 1
4 0
3 3
3 2
3 1
3 0
2 3
2 2
2 1
2 0
1 3
1 2
1 1
1 0
0 3
0 2
0 1
0 0
答案 2 :(得分:1)
$host = "host";
$user = "user";
$password = "pass";
$database = "db";
$port = xxxx;
$table = "table";
// Create connection
$conn = mysqli_connect($host, $user, $password, $database, $port);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
echo "Connection Successful";
mysqli_select_db($database)
or die("Could not select database because".mysqli_error());
// check if the username is taken
$check = "select email from $table where email = '".$_POST['email']."';";
$qry = mysqli_query($check)
or die ("Could not match data because ".mysqli_error());
$num_rows = mysqli_num_rows($qry);
if ($num_rows != 0) {
echo "Sorry, there the username $username is already taken.";
}
次的第一次迭代,其中n
是n
和row
中的最小值。第二次迭代column
次,其中m
为m
* row
。那是
column
和
Math.min(row, column)
分别