うわー
function check(&$val) が function check($val) と書かれている場合、この 2 つの違いは何ですか?
これは私が作成したメモです、ご覧ください。
関数パラメータの受け渡し
説明: 関数パラメータリストを関数パラメータリストに渡します。あまり複雑に考える必要はありません。簡単に説明します。
値渡し: 実パラメータのデータまたは変数を仮パラメータにコピーします。仮パラメータは、実パラメータのデータに影響を与えることなく、関数内で変更されます。
アドレスで渡す: 実パラメータの変数のアドレスを仮パラメータに渡します。関数内で仮パラメータが変更されると、実パラメータのデータも変更されます。
仮パラメータの前に & を追加する形式です
以下は上記 2 つの比較です
<?php$a = $_GET['a'];check($a);function check(&$val) {if(!preg_match('/^[a-z0-9]/', $val)) {die("request error");}}?>
コードに違いはありません
PHP code?12345678910
関数 check(&$val) が関数 ch として書かれている場合...
あなたのこれ$val データを操作していないため、コード スニペットに違いはありません