Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.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
PHP数组_组合未定义的索引_Php_Arrays_Indexing_Offset_Undefined Index - Fatal编程技术网

PHP数组_组合未定义的索引

PHP数组_组合未定义的索引,php,arrays,indexing,offset,undefined-index,Php,Arrays,Indexing,Offset,Undefined Index,我想要组合两个数组,一个作为键,另一个作为数据。 然而,当我打印数组时,我看到在键上添加了一个神秘的空格。即使我使用完全不同的数组,空格似乎也会在数组\u组合后重新出现 另外,如果我试图通过向键添加空格来访问数组元素,仍然会得到错误未定义偏移量:200 这是我的代码: $codes = file('H_codes.txt'); $sentences = file('H_sentences.txt'); $H_sentences_combined = array_combine($codes,$s

我想要组合两个数组,一个作为键,另一个作为数据。 然而,当我打印数组时,我看到在键上添加了一个神秘的空格。即使我使用完全不同的数组,空格似乎也会在
数组\u组合后重新出现

另外,如果我试图通过向键添加空格来访问数组元素,仍然会得到错误
未定义偏移量:200

这是我的代码:

$codes = file('H_codes.txt');
$sentences = file('H_sentences.txt');
$H_sentences_combined = array_combine($codes,$sentences);

echo $H_sentences_combined['200'];
我从两个文本文件中检索数组:
H_codes.txt

200
201
202
...
$H_句子
文件的格式相同(即没有内联空格,只有下一行空格)

这是
print\r($H\u句子组合)

我真的不知道出了什么问题

感谢您的帮助!
谢谢。

那个额外的字符是换行符。将这些值添加到它读入数组的每一行中

像这样更改文件调用,以除去那些额外的新行字符:

$codes = file('H_codes.txt', FILE_IGNORE_NEW_LINES);
$sentences = file('H_sentences.txt', FILE_IGNORE_NEW_LINES);
$H_sentences_combined = array_combine($codes,$sentences);

索引后的字符实际上不是空格,而是换行符(或两行)。基本上,在您的文本文件中,每一行的末尾将是\n或\r\n。要在插入之前删除这些内容,只需使用PHP中内置的trim($content)函数,它将删除字符串左右两侧的所有空白。e、 g.
trim('helloworld!')
将返回
'helloworld!'

读取文件时,您的结束行字符可能存在一些问题。确保文件具有与运行代码的操作系统相应的结束行字符。如果您在windows中创建了该文件,并在linux或mac上读取该文件,则可能会产生这种效果。谢谢,似乎就是这样,但是如何通过PHP删除这些空格?只需使用
trim()
或beter即可查看buggabill的答案。他有更好的选择。
 Array ( [200 ] => "Instabiele ontplofbare stof." [201 ] => "Ontplofbare stof: gevaar voor massa-explosie." [202 ] => "Ontplofbare stof, ernstig gevaar voor scherfwerking." ...)
$codes = file('H_codes.txt', FILE_IGNORE_NEW_LINES);
$sentences = file('H_sentences.txt', FILE_IGNORE_NEW_LINES);
$H_sentences_combined = array_combine($codes,$sentences);