PHP:什么变量类型会返回;'返回?

时间:2015-09-11 18:36:13

标签: php function variables types return

以下面的代码为例:

<?php
  function testing(){
     echo 'testing';
     return;
  }
?>

根据上面的代码,&#39;返回的是什么类型的数据/变量;&#39;声明回归?

3 个答案:

答案 0 :(得分:10)

  

根据上面的代码,'return;'是什么类型的数据/变量?声明回归?

null

来自PHP docs on return

  

注意:如果没有提供参数[...]将返回NULL。

答案 1 :(得分:7)

返回import time import sasl from thrift.protocol.TBinaryProtocol import TBinaryProtocol from thrift.transport.TSocket import TSocket from thrift.transport.TTransport import TBufferedTransport from libs.pyhs4.cloudera.thrift_sasl import TSaslClientTransport from libs.pyhs4.TCLIService import TCLIService from libs.pyhs4.TCLIService.ttypes import TOpenSessionReq, TGetTablesReq, TFetchResultsReq,\ TStatusCode, TGetResultSetMetadataReq, TGetColumnsReq, TType, TTypeId, \ TExecuteStatementReq, TGetOperationStatusReq, TFetchOrientation, TCloseOperationReq, \ TCloseSessionReq, TGetSchemasReq, TCancelOperationReq, TGetLogReq auth = 'PLAIN' username = 'apanin' password = 'none' host = 'cloudera' port = 10000 test_hql1 = 'select count(*) from test_text' def sasl_factory(): saslc = sasl.Client() saslc.setAttr("username", username) saslc.setAttr("password", password) saslc.init() return saslc def get_type(typeDesc): for ttype in typeDesc.types: if ttype.primitiveEntry is not None: return TTypeId._VALUES_TO_NAMES[ttype.primitiveEntry.type] elif ttype.mapEntry is not None: return ttype.mapEntry elif ttype.unionEntry is not None: return ttype.unionEntry elif ttype.arrayEntry is not None: return ttype.arrayEntry elif ttype.structEntry is not None: return ttype.structEntry elif ttype.userDefinedTypeEntry is not None: return ttype.userDefinedTypeEntry def get_value(colValue): if colValue.boolVal is not None: return colValue.boolVal.value elif colValue.byteVal is not None: return colValue.byteVal.value elif colValue.i16Val is not None: return colValue.i16Val.value elif colValue.i32Val is not None: return colValue.i32Val.value elif colValue.i64Val is not None: return colValue.i64Val.value elif colValue.doubleVal is not None: return colValue.doubleVal.value elif colValue.stringVal is not None: return colValue.stringVal.value sock = TSocket(host, port) transport = TSaslClientTransport(sasl_factory, "PLAIN", sock) client = TCLIService.Client(TBinaryProtocol(transport)) transport.open() res = client.OpenSession(TOpenSessionReq(username=username, password=password)) session = res.sessionHandle query1 = TExecuteStatementReq(session, statement=test_hql1, confOverlay={}, runAsync=True) response1 = client.ExecuteStatement(query1) opHandle1 = response1.operationHandle while True: time.sleep(1) q1 = TGetOperationStatusReq(operationHandle=opHandle1) res1 = client.GetOperationStatus(q1) lq = TGetLogReq(opHandle1) rq = client.GetLog(lq) if res1.operationState == 2: break req = TCloseOperationReq(operationHandle=opHandle1) client.CloseOperation(req) req = TCloseSessionReq(sessionHandle=session) client.CloseSession(req) 。见Demo

null

答案 2 :(得分:2)

您的代码将返回 NULL

返回引用的函数可能返回NULL值。这与通过引用传递的函数参数不能传递为NULL(或实际上任何不是变量的事实)的事实不一致。

<?php

function &testRet()
{
    return NULL;
}

if (testRet() === NULL)
{
    echo "NULL";
}
?>

解析罚款并回显NULL