常量表达式包含无效操作 - 不突出显示其他变量?

Posted

技术标签:

【中文标题】常量表达式包含无效操作 - 不突出显示其他变量?【英文标题】:Constant expression contains invalid operations - Not highlighting other variable? 【发布时间】:2019-06-19 11:39:35 【问题描述】:

我必须将 Twig 模板转换回网站的 php,所以我们基本上是在模仿功能。我从 PHP 中收到一个错误,突出显示我的类属性 $link,其中包含一组其他变量。

常量表达式包含无效操作

我不明白为什么它突出显示了这个属性,而不是我的其他属性,它直接位于名为 $downloadLink 的下方。两者都是数组,除非我遗漏了什么。这个错误最初并没有突出显示,但后来我继续我的其余代码。

class Card 

public $title;
public $image;
public $text;

public $link = array(
    $url,
    $nale,
);

public $downloadLink = array(
    $url,
    $title,
    $type,
    $weight,
);



function __construct(string $title, string $image, string $text, array $link_arr, array $downloadLink_arr)

    $this->title = $title;
    $this->image = $image;
    $this->text = $text;
    $this->link->url = $link_arr[0];
    $this->link->nale = $link_arr[1];
    $this->downloadLink->url = $downloadLink_arr[0];   
    $this->downloadLink->title = $downloadLink[1];   
    $this->downloadLink->type = $downloadLink[2];   
    $this->downloadLink->weight = $downloadLink[3];   



【问题讨论】:

【参考方案1】:

这是一个 PHP 基础的东西。

你不能用变量初始化变量,当你的变量是一个数组时你试图使用对象赋值。

<?php

class Card

    public $title;
    public $image;
    public $text;
    public $link = array();
    public $downloadLink = array();

    public function __construct(string $title, string $image, string $text, array $link_arr, array $downloadLink_arr)
    
        $this->title = $title;
        $this->image = $image;
        $this->text = $text;
        $this->link['url'] = $link_arr[0];
        $this->link['nale'] = $link_arr[1];
        $this->downloadLink['url'] = $downloadLink_arr[0];
        $this->downloadLink['title'] = $downloadLink[1];
        $this->downloadLink['type'] = $downloadLink[2];
        $this->downloadLink['weight'] = $downloadLink[3];
    


【讨论】:

以上是关于常量表达式包含无效操作 - 不突出显示其他变量?的主要内容,如果未能解决你的问题,请参考以下文章

常变量和变量,常量的区别与联系,各自的特点是啥

更改netbeans中自动突出显示的变量名的突出显示颜色?

常量和常变量有啥区别没

Eclipse 不突出显示匹配的变量

uitableview 单元格突出显示

C语言里符号常量和常变量有啥区别?