【问题标题】:Key "1" for array with keys "0, +, -" does not exist键为“0、+、-”的数组的键“1”不存在
【发布时间】:2016-06-14 03:07:03
【问题描述】:

为了解决这个弃用问题,我交换了一个数组;

“choice”的“choices_as_values”选项的值“false” 表单类型(Symfony\Component\Form\Extension\Core\Type\ChoiceType)是 自 2.8 版起已弃用,3.0 版将不再支持。 将此选项设置为“true”并翻转“选择”的内容 替代选项。

但现在我收到以下错误;

具有键“0、+、-”的数组的键“1”不存在于 src/MyBundle/Resources/views/Consult/show.html.twig 在第 467 行

这是我交换键和值后的函数/数组;

public static function enumZeroPlusMinus()
{
    return array(
        '0' => '0',
        '+' => '1',
        '-' => '2',
    );
}

这是我抱怨新错误的那一行;

<td>{{ entity.enumZeroPlusMinus[entity.foreFootSupportLeft] }}</td>

我不明白这个错误。有人可以解释并帮助我解决这个问题吗?这可能是一件小事。还是说 Doctrine 有问题?因为'0'、'1'和'2'是存储在数据库中的值。谢谢!

【问题讨论】:

    标签: php symfony


    【解决方案1】:

    您的数组没有密钥1,它有'0', '+', '-'

    除非我误解了,否则你需要这样做:

    $array = enumZeroPlusMinus();
    echo $array[ array_search('1', $array) ];
    

    另外,在尝试处理弃用警告时,只需通过 array_flip 抛出您的原始数组。

    【讨论】:

      猜你喜欢
      • 2023-03-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-11
      • 2013-08-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多