[解決済み】PHP7以前の「文字列のインスタンスでなければならない、文字列が与えられている」を解決するにはどうすればよいですか?
2022-04-09 03:33:36
質問
以下は私のコードです。
function phpwtf(string $s) {
echo "$s\n";
}
phpwtf("Type hinting is da bomb");
その結果、このようなエラーになります。
Catchable fatal error: phpwtf() に渡される引数 1 は文字列のインスタンスでなければなりません。
PHPが目的の型を認識し、同時に拒否するのは、少しばかりオーウェル的です。 ライトは5つだ、くそ。
PHPの文字列のタイプヒンティングに相当するものは何ですか?ここで起こっていることを正確に説明している答えにはボーナス考慮があります。
どのように解決するのですか?
PHP 7 より前のバージョン
タイプヒンティング
は、オブジェクトと配列の型を強制するためにのみ使用できます。スカラー型はタイプヒントになりません。この場合、オブジェクトのクラス
string
が期待されているのに、それに(スカラー)である
string
. エラーメッセージは面白いかもしれませんが、そもそもうまくいくはずがないのです。動的型付けシステムを考えると、これは実はある種の変態的な意味を持つ。
にしかできません。 手動 タイプヒント"スカラー型。
function foo($string) {
if (!is_string($string)) {
trigger_error('No, you fool!');
return;
}
...
}
関連
-
[解決済み】XAMPPのphpMyAdminで「設定にあるcontroluserの接続に失敗しました。
-
[解決済み] mysqli_fetch_assoc() は、パラメータ 1 が mysqli_result であることを期待し、boolean が与えられる [重複] 。
-
[解決済み] Forbidden :このサーバーの /phpmyadmin にアクセスする権限がありません。
-
[解決済み] PHPでSQLインジェクションを防ぐにはどうしたらいいですか?
-
[解決済み] ある文字列が特定の単語を含んでいるかどうかを確認するにはどうすればよいですか?
-
[解決済み] PHPでHTML/XMLをパースして処理する方法とは?
-
[解決済み] PHPのエラーを表示させるにはどうしたらいいですか?
-
[解決済み] PHPランダム文字列ジェネレータ
-
[解決済み】PHPの'foreach'は実際どのように動作するのですか?
-
[解決済み] リファレンス - このシンボルはPHPで何を意味するのですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Fatal error: 未定義の関数 sqlsrv_connect() を呼び出した。
-
[解決済み] 整形されていない数値が発生しました。
-
[解決済み】新しいPHPMailerはPHPMailerAutoload.phpが必要?
-
[解決済み】警告:mysql_fetch_array()はパラメータ1がリソースであることを期待、ブール値は[重複]で与えられる]
-
[解決済み】PHPの予期しないT_VARIABLEとは何ですか?
-
[解決済み】phpMyAdmin: シークレットパスフレーズ?
-
phpのAllowed memory size of 134217728 bytes枯渇問題の解決法
-
[解決済み】MySQLのカラム数が1行目の値数と一致しない【非公開
-
[解決済み] オートロードとは何ですか; spl_autoload、__autoload、spl_autoload_register はどのように使うのですか?
-
[解決済み] PHPで有用なエラーメッセージを得るにはどうしたらよいですか?