数组由一个元素读取

时间:2010-04-12 17:10:19

标签: php arrays

我有字节文件。现在需要用一个字节读取它。我怎么能做到这一点?

它可能的读取数组并删除readed元素?

6 个答案:

答案 0 :(得分:1)

假设您正在从阵列的正面阅读,那么您需要array_shift。您可以在http://us2.php.net/manual/en/function.array-shift.php了解更多信息。

请注意array_shift在数组大小上是线性的,而不是常数时间。如果您真的必须遵循此模型,则可能需要先反转数组并改为使用array_pop

答案 1 :(得分:1)

使用fopen()打开文件进行阅读,并使用长度为1的fread()

答案 2 :(得分:1)

您可以使用fgetc函数从文件中读取一个字符/字节 - 并在循环中调用它。

引用给定的例子:

$fp = fopen('somefile.txt', 'r');
if (!$fp) {
    echo 'Could not open file somefile.txt';
}
while (false !== ($char = fgetc($fp))) {
    echo "$char\n";
}


这将起作用,因为PHP认为一个字符==一个字节(这并不总是正确的......但这是另一个问题^^)

答案 3 :(得分:0)

array_shift()将删除数组的第一个元素。

从文件读取通常使用字符串来完成,在这种情况下,您应该存储正在处理的字符的索引,并在处理当前字符时将其前进。

答案 4 :(得分:0)

使用file_get_contents打开文件,并使用unpack逐字节读取。

答案 5 :(得分:0)

使用php只读取文件的一个字节:

$fh = fopen('mytest.txt', "r");
$contents = fread($fh, 1);