質問: 「ここ」 質問3array_filterをなぜ使っているのでしょうか。。 array_filter「ここ」($_POST); 質問4この部分のコードは何を意味しているでしょうか。。 echo hasRequired ($testArray, array( 'name', 'email_adress' ))? "did" : "did not"; 質問だらけで大変申し訳ございません。。 もし、一つだけでもお分かりになる方がいらっしゃいましたら、 ご教授頂けますと幸いです。 よろしくお願い致します。
回答: 質問1 `hasRequired`メソッドの引数として2つの変数を定義しています。 なのでどこからというより「$arrayと$requiredFieldsを渡すよう(筆者が)決めた」となります。 質問2 多分筆者のミスです。この行は不要です。 質問3 `array_filter`は第二引数無しで使うと「配列の値がfalseになる要素を除去」という動きになります。 PHP: array_filter - Manual `$_POST`に対して使っているので、未記入な要素を除去します。 (例えば`$_POST['name']=''`だったら、'name'要素が$_POST配列から取り除かれる) 質問4 三項演算子`?`と`hasRequired`メソッドの組み合わせです。 `hasRequiredを$array=$testArray、$requiredFields=array('name','email_adress')として実行` `hasRequiredの実行結果がtrueなら"did"、falseなら"did not"をechoする` という2つの処理が1行になっていると考えれば理解頂けるでしょうか。 トータルで見ると 質問3で「POSTから未記入のものを除去」 hasRequiredで「$requiredFieldsの要素が$arrayのキーとして全て含まれていたらtrue、いなかったらfalseを返す」 質問4で「hasRequiredの結果により文言出し分け」 なので「フォームのnameとemail_adressの両方が記入されていれば`You did have all the required`、未記入があれば`You did not have all the required`と表示する」という挙動になります。