如何修复php非法偏移错误[重复]

Posted

技术标签:

【中文标题】如何修复php非法偏移错误[重复]【英文标题】:how to fix php illegal offset errors [duplicate] 【发布时间】:2020-04-21 01:50:46 【问题描述】:

我正在尝试使用数组将多个单选按钮值插入到数据库中,但出现错误

警告:C:\wamp64\www\Projet Apache\My 中的偏移类型非法 website\html\addquestionrequest.php 在第 40 行

这是正在处理的代码部分

$questionid = $donnees['Questionid'];

    $insertArray = array(
        [0]=> array(

                ['Questionid'] =>$questionid,
                ['Options'] => $_POST['Option_1'],
        ),

        [1]=> array(
            ['Questionid'] =>$questionid,
            ['Options'] => $_POST['Option_2'],
        ),

        [2]=> array(
            ['Questionid'] =>$questionid,
            ['Options'] => $_POST['Option_3'],
        ),

        [3]=> array(
            ['Questionid'] =>$questionid,
            ['Options'] => $_POST['Option_4'],
        ));
        if (!empty($_POST['Option_1']) && !empty($_POST['Option_2']) && !empty($_POST['Option_3']) && !empty($_POST['Option_4']))
         
                foreach ($insertArray as $key => $value) 
                     $db->exec('INSERT INTO answerproposal(Questionid,Options) VALUES(\'$value["Questionid"]\', \'$value["Options"] \')');

                


             echo "question ajoutée";
        
        else 
            echo " erreur option 1";
        

【问题讨论】:

这能回答你的问题吗? Illegal string offset Warning PHP 第 40 行是哪一行? this ids line 40 ['Questionid'] =>$questionid, 【参考方案1】:

在创建数组时,您的数组键不应包含括号。

$insertArray = array(
    0 => array(
        'Questionid' => $questionid,
        'Options' => $_POST['Option_1']
    ),
    1 => array(
        'Questionid' =>$questionid,
        'Options' => $_POST['Option_2']
    ),
    2 => array(
        'Questionid' =>$questionid,
        'Options' => $_POST['Option_3']
    ),
    3 => array(
        'Questionid' => $questionid,
        'Options' => $_POST['Option_4']
    )
);

【讨论】:

更重要的是,在这种情况下不需要键,只需要数组值,逗号分隔。

以上是关于如何修复php非法偏移错误[重复]的主要内容,如果未能解决你的问题,请参考以下文章

从api流明获取数据时出现错误的非法字符串偏移[重复]

使用 PHP 数组输出 MySQL 查询 - foreach 循环错误“非法偏移”和“无效参数”

Drupal 8 警告:非法字符串偏移 'name' DrupalBootstrapStyles.php

更新后的Wordpress“非法字符串偏移”

如何修复 hadoop 中的“非法分区”错误?

PHP 警告:jwt 的非法字符串偏移