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);