关键" 1"对于带有键的数组" 0,+, - "不存在

时间:2016-03-01 15:47:51

标签: php symfony

我已经换了一个数组来修复这个弃用;

  

值" false"对于" choices_as_values" "选项的选项"   表单类型(Symfony \ Component \ Form \ Extension \ Core \ Type \ ChoiceType)是   自2.8版以来已弃用,3.0版将不再支持。   将此选项设置为" true"翻转"选项的内容"   相反的选择。

但现在我收到以下错误;

  

Key" 1"对于带有键的数组" 0,+, - "在...中不存在   src / MyBundle / Resources / views / Consult / show.html.twig第467行

交换密钥和值后,这是我的函数/数组;

$mydiv = '<div name="content">';
$mynew = '</div>';

if ($result->num_rows > 0) {
    //Output data of each row
    while($row = $result->fetch_assoc()) {
        echo $mydiv . "<h1>Title: " . $row["title"] . " <br /></h1><h2>Summary: " . $row["summary"] . " <br /></h2><h5>Author: " . $row["author"] . " </div><br />" . $mynew ;
    }
}   else {
    echo "Cannot find content.";
}
?>

这就是新错误所抱怨的那条线;

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

我不理解错误。有人可以解释并帮助我这个吗?这可能是一件小事。或者说Doctrine有问题吗?因为&#39; 0&#39;,&#39; 1&#39;和&#39; 2&#39;是存储在数据库中的值。谢谢!

1 个答案:

答案 0 :(得分:1)

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

除非我有误解,否则你需要做这样的事情:

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

另外,在尝试处理弃用警告时,只需将原始数组抛出array_flip