文字列型制約の問題

WBOY
WBOYオリジナル
2016-06-23 13:28:481025ブラウズ

function foo(string $s) { 	  echo $s;}foo("hello world");

キャッチ可能な致命的なエラー: foo() に渡される引数 1 は、指定された文字列が呼び出された文字列のインスタンスである必要があります
これはなぜですか?どのように書けばよいでしょうか?


ディスカッションへの返信 (解決策)

型制約は、実際には一歩後退しています

型制約は、オブジェクトと配列の 2 つの型のみをサポートします。整数型と文字列型はサポートされていません。

PHP は弱い型であり、通常、オブジェクトと配列をサポートします。

settings.php

350a2a41ea6e403a4920d02d307add92 ;false836d21652b6e920629f6edf35e4e8bd5

b5509dc0d1b79f9bc35af4f3772efab6
AddressManager.php
private $addresses = array("209.131.36.159","74.125.19.106");
foreach ($this- >addresses as $address){
if(!is_bool($resolve)){
die("outputAdresses() にはブール引数が必要ですn");印刷する}
$settings = simplexml_load_file("設定. xml");
$manager = new AddressManager();
$manager->outputAddresses((string)$settings->resolvedomains);
ただし、ここでは $manager->outputAddresses((string)$ の型制約ですsettings->resolvedomains); は OK です


わかりました、ありがとう

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
前の記事:PHPの比較関数次の記事:PHPの比較関数