12737475
anonymous No title
PHP
function make_ary($x){
	$make_index_ary = function($x) use( &$make_index_ary ){
		if($x==1){
			return [1];
		}
		$first_list = array_map(function($x){
			return $x*2;
			},$make_index_ary($x-1));
		$latter_list = array_map(function($x){
			return $x-1;
			},array_reverse($first_list));
		return array_merge($first_list,$latter_list);
	};
	
	$index_ary = $make_index_ary($x);
	$edge_num = pow(2, $x-1);
	$ary = [];
	for($i=0;$i<$edge_num;$i++){
		$ary[$index_ary[$i]]=($i+1)*2;
	}
	ksort($ary);
	return $ary;
}

print_r (make_ary(5) );
//Array ( [1] => 22 [2] => 12 [3] => 28 [4] => 6 [5] => 20 [6] => 14 [7] => 30 [8] => 4 [9] => 24 [10] => 10 [11] => 26 [12] => 8 [13] => 18 [14] => 16 [15] => 32 [16] => 2 )
anonymous No title
PHP
function make_ary($x){
	if($x==1){
		return [2];	
	}
	$cur_list = make_ary($x-1);
	$x_last = end($cur_list);
	$add_list = array_map(function($x) use($x_last){
		return $x + $x_last;
	},$cur_list);
	$result = array_pad([0],count($cur_list)*2,0);
	
	$j = 0;
	foreach($result as $i => $int){
		if($i%2==0){
			$result[$i] = $cur_list[$j];
		}else{
			$result[$i] = $add_list[$j];
			$j++;
		}
	}
	return $result;
}

print_r( make_ary(5) );
// Array ( [0] => 2 [1] => 18 [2] => 10 [3] => 26 [4] => 6 [5] => 22 [6] => 14 [7] => 30 [8] => 4 [9] => 20 [10] => 12 [11] => 28 [12] => 8 [13] => 24 [14] => 16 [15] => 32 )
anonymous No title
PHP
<?php
$nm = $_POST["name"];
$t = $_POST["time"];

$d = "";
for($i=0; $i<=6; ++$i){//本当はwhile文でやったほうが一般生高いのだろうけど、whileで$iと$tの配列のナンバーが合うのかわかんなかったからforでやった。
	$d .= $nm[$i];
	while($x <= /*その人の名前のもとで押された時間ボタンの数。(いや、これだと2人目から上手くいかない)*/){
		$d .= $t[$x];
	}
	$d .= "<br>";
}
print<<<eot

<!DOCTYPE html>
<html>
	<head>
		<title>
			空いてる時間
		</title>
	</head>

	<body>
		$d
		
	</body>
</html>
eot;

/*
今の欠点
①1つの名前に対し、1つの曜限しか表示されない。∵$d .= $nm[$i].$t[$i]."<br>";
②曜限も7個までしか表示されない。∵forループが0〜6の7回しか行われないため、$dに7個分の曜限しか代入されないから。

①$nmの人のもとで、押された時間ボタンを表示する必要性。
*/
anonymous No title
PHP
<?php

$m=7; //月を指定
$y=2019; //西暦を指定

$ds=31;
if($m == 4 || $m == 6 || $m == 9 || $m == 11){
	$ds=30;
}
if($m == 2){
	$ds=28;
	if($y % 4 == 0){
		$ds=29;
	}
} //年月から日数を指定

//以下テーブル
$nm = '<p>お名前</p> 
		<input type="checkbox" name="name[]" value="半田先生">半田先生<br>
		<input type="checkbox" name="name[]" value="りおさん">りおさん<br>
		<input type="checkbox" name="name[]" value="なつみさん">なつみさん<br>
		<input type="checkbox" name="name[]" value="えいちゃんさん">えいちゃんさん<br>
		<input type="checkbox" name="name[]" value="たかみん">たかみん<br>
		<input type="checkbox" name="name[]" value="川端修平">川端修平<br>
		<input type="checkbox" name="name[]" value="しばまお">しばまお<br>';
$tx = "";
for($n = 1; $n <= 7; ++$n){
	$tx .=$nm.'<p>いつ空いてますか?</p>
			<table><tr> <th></th><th>1限</th><th>2限</th><th>昼</th><th>3限</th><th>4限</th><th>5限</th><th>夜</th><th>終日</th> </tr>';
	for($d = 1; $d <= $ds; ++$d){//毎日分繰り返す
		$tx.='<tr><td>'.$m.'月'.$d.'日</td>';//一番左の縦列作り(日付)
		for($pe = 1; $pe <= 8; ++$pe){//横軸に日付曜限の情報を持つチェックボックスを作ってる。(※昼夜終日の関係で限にずれできた)
			$tx.='<td><input type="checkbox" name="time[]" value="'.$m.'月'.$d.'日'.$pe.'限"></td>';
		}
		$tx.='</td></tr>';
	}//for最下層の変数tx内に、class="'.$d.'_button"を入れ、最後のtx内に、onclick="toggle_check("'.$d.'_button",this);" を入れたが、終日ボタンを押しても全選択にはならなかった。やっぱりJSが必要かな??
	$tx .= '</table>';
}

print<<<eot

<!DOCTYPE html>
<html lang="ja">
	<head>
		<meta charset="utf-8">
		<meta name="viewport" content="width=device-width, initial-scale=1">
		<title>
			スケジュール調整で〜〜す
		</title>
	</head>
	
	<body>
		<form method="post" action="sche_result2.php">
			
			
			

			
			
			$tx
			
			
			<p><input type="submit" value="送信"></p>
			
		</form>
	</body>
</html>
eot;

//名前選択のとこ、ラジオボタンにすればよかったけどまあいいや。追記:普通にcheckboxをradioに書き換えたらラジオボタンなったわ。追記:radioに書き換えると、7人分の名前選択ボタン&アンケート作ったときに名前が全体の中で1つしか選択できなくなっちゃうから、やっぱcheckboxがいい。
anonymous No title
PHP
<?php echo 'sss'?>
Don't you submit code?
Submit
12737475