首頁 > 後端開發 > php教程 > string 类型约束的问题

string 类型约束的问题

WBOY
發布: 2016-06-23 13:28:48
原創
1042 人瀏覽過

function foo(string $s) { 	  echo $s;}foo("hello world");
登入後複製

报错Catchable fatal error: Argument 1 passed to foo() must be an instance of string, string given, called in 
这是为什么?应该怎么写呢?


回复讨论(解决方案)

类型约束实际是一种倒退

类型约束只支持对象 和 数组两种类型。而不支持整型 和 字符串类型。

php是弱类型 对简单的类型是不支持的,一般就支持对象和数组

php 函数声明参数不需要指定类型

settings.php

    false

AddressManager.php
class AddressManager{
    private $addresses = array("209.131.36.159","74.125.19.106");
    
    function outputAddresses($resolve){
        foreach($this->addresses as $address){
            if(!is_bool($resolve)){
               die("outputAdresses() requires a Boolean argument\n");
            }
            print "";              
        }  
    }
}
$settings = simplexml_load_file("settings.xml");
$manager  = new AddressManager();
$manager->outputAddresses((string)$settings->resolvedomains);
但是这里$manager->outputAddresses((string)$settings->resolvedomains);的类型约束是可以的

好吧,非常
谢谢

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板