Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
未定义的偏移量1,php中的数组_Php - Fatal编程技术网

未定义的偏移量1,php中的数组

未定义的偏移量1,php中的数组,php,Php,我有以下JavaScript代码: $.ajax({ type: "POST", url: "funcoes/a-php/ler/ler_config.php", data: 'data_id=fish/config/horse/config/car', cache: false, success: function(data_o){ alert(data_o); } }); 在“ler_config.php”文件中,我有以下代码

我有以下JavaScript代码:

$.ajax({
    type: "POST",
    url: "funcoes/a-php/ler/ler_config.php",
    data: 'data_id=fish/config/horse/config/car',
    cache: false,
    success: function(data_o){
        alert(data_o);
    }
});
在“ler_config.php”文件中,我有以下代码:

if($_SERVER['REQUEST_METHOD'] == 'POST'){
    $data = $_POST['data_id'];
    list($name, $value) = explode('=', $data, 2);
    $result = explode('/config/', $value);
    print_r($result);
}
因此,我对这一行有困难:

list($name, $value) = explode('=', $data, 2);
php注意到我这个问题:

Undefined offset 1

那么我该如何修复它呢?

问题是您的分解函数正在通过
=
符号(字符串中不存在)拆分
$data
——一些基本的调试会告诉您这一点

这是字符串的格式:

data: 'data_id=fish/config/horse/config/car'
。。。所以
$\u POST['data\u id']='fish/config/horse/config/car'

现在,我不确定您想用这段代码实现什么,但是如果您想用
=
符号从AJAX中分割字符串,您就不需要了。它只是告诉ajax,
data\u id
将等于
=
实际上并没有在PHP中出现

如果要拆分该字符串,则应改为使用
/

另外,为了更清楚地使用AJAX,您应该将数据变量包装在
{}
括号内,而不要将变量名包含在引号内:

data: {
    data_id: 'fish/config/horse/config/car'
}

这是您的帖子数据:
data\u id=fish/config/horse/config/car

这意味着
$\u POST['data\u id']
将已经包含
fish/config/horse/config/car


由于其中没有
=
,分解它将产生一个只有一个索引为
0
的值的数组。索引
1
将不会有第二个值。因此,您关于索引的消息不存在。

因此,代替
list($name,$value)=explode('=',$data,2)
... 你应该做:

$name = 'data_id'; // this is the key value you already used for $data
$value = $_POST['data_id']; // or $value = $data; it's the same

打印($data)以查看其中包含的内容,并将其添加到您的问题中以帮助我们回答。您可能有
$\u POST['data\u id']='fish/config/horse/config/car'