为了账号安全,请及时绑定邮箱和手机立即绑定

返回的数组被分配为空值到 PHP 中的变量

返回的数组被分配为空值到 PHP 中的变量

PHP
慕妹3146593 2022-10-14 10:52:05
我有一个函数,PHP它调用另一个类函数以便为它的一个变量赋值$related。需要该值的原始函数使用该requestACLForAccess()函数将特定变量添加filter到$headers变量中:listRecords功能:    public function listRecords($api){    header("Access-Control-Allow-Origin: *");    if ($this->authenticationProcedure() !== false) {        $headers = apache_request_headers();        $access = $this->requestACLForAccess($headers['module'], $headers['oauth_token'], $_SERVER['REQUEST_METHOD']);        if(gettype($access) == "array"){        $headers['filter'][0][$access[1]]['$equals'] = $access[2];        }        $listObject = new FilterApi();;        return $listObject->filterList($api, $headers);    }}被调用的函数requestACLForAccess:protected function requestACLForAccess(    $targetModule,    $token,    $req_type,    $getSpecialFlag = false,    $targetId = null) {    $row = $this->checkTokenValid("token", $token);    if (!empty($row) || $row !== false) {        $related = \Sugarcrm\Sugarcrm\custom\clients\base\CustomACL::checkRelated($row['module'], $targetModule, $row['id'], $req_type, $getSpecialFlag, $targetId);        die(gettype($related)); // For debugging        return $related;    }    else {        return false;    }}被调用的函数位于另一个名为customACL.php. 在该函数中,某个条件语句返回一个array $arr应该分配给上述特定变量的语句。被调用的函数:    public static function checkRelated($module, $targetModule, $id, $req_type, $getSpecial, $targetId){  $bean = \BeanFactory::retrieveBean($module, $id);  if($bean->designation == self::ADMIN_NAME && !(in_array($targetModule, self::RECORD_RELATION_MODULES))){    return self::ACL_ADMIN;  } 直到我定义了变量$arr,检查gettype()返回一个数组并打印变量给我(如预期的那样)一个完整的数组,其中包含我添加的值。但是,一旦将值返回给原始函数并分配给变量$related,数组就会以某种方式变为NULL并且 gettype() 也返回NULL。更新:我添加了缺少的功能以使其更清晰,我希望它有意义谁能告诉我我在这里犯了什么天真的错误?为什么会这样?
查看完整描述

1 回答

?
慕标5832272

TA贡献1966条经验 获得超4个赞

好吧,这很尴尬,我忘了在函数中返回$aclaccess变量,checkrelated()这就是它显示 null 的原因。添加返回值是解决方案。



查看完整回答
反对 回复 2022-10-14
  • 1 回答
  • 0 关注
  • 73 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信