この記事の例では、PHP関数で値を渡す際の参照渡しの注意点について説明しています。参考のために皆さんと共有してください。詳細は次のとおりです:
厳格な基準: 変数のみが参照によって渡される必要があります
オンライン情報で次の文を見つけました:
この問題はphp5.3で発生し、 PHP の設定に関係するので、この文を 2 つの文に分割すれば問題ありません。 array_walkのパラメータは参照渡しのため、バージョン5.3以降ではデフォルトで特定の変数のみを渡すことができ、関数を通じて値を返すことはできません。 もちろん、php.ini の error_reporting = E_ALL | E_STRICT を変更することもできますが、これは結局仕様に準拠していません。
$suffix = array_pop(explode(".",$file_name));
なぜ上位バージョンにはそのような制限があるのですか?
マニュアルの関数プロトタイプを調べました:
mixed array_pop ( array &$array ) bool array_walk ( array &$array , callable $funcname [, mixed $userdata = NULL ] )
& シンボルは、変数が参照によって渡されることを指定します。
を
$file_name_arr = explode(".",$file_name); $suffix = array_pop($file_name_arr);
に変更するだけです。
実際のところ、これは単なる警告です。致命的なエラーではありません。正常な結果が得られます。たとえば、ここでファイル名の接尾辞を取得するのが通常です。
さらに PHP 関連のコンテンツに興味のある読者は、このサイトの特別トピック「PHP オブジェクト指向プログラミングの入門チュートリアル」、「PHP 数学的演算スキルの概要」、「PHP Office ドキュメント スキルの概要 ( Word、Excel、Access を含む)、ppt)」、「完全な PHP 配列 (配列) 操作スキル」、「PHP データ構造とアルゴリズムのチュートリアル」、「php プログラミング アルゴリズムの概要」、「php 正規表現の使用法の概要」、「php」よくあるデータベース操作スキルまとめ』 》
この記事がPHPプログラミングをする皆様のお役に立てれば幸いです。
以上、PHP変数参照の解析と、PHP関数値転送の参照渡しの注意点を紹介しました。PHP変数参照の内容も含め、PHPチュートリアルに興味のある方の参考になれば幸いです。