Php 如果我在txt文件中读取,为什么我不能在数组中获取每个数组元素?

Php 如果我在txt文件中读取,为什么我不能在数组中获取每个数组元素?,php,Php,表示orders.txt包含 hello hello hello 代码: 我发现这里的错误原因是count$orders[$row]没有返回该数组中元素的总数 txt中的文本文件是多维数组,对吗 如果我创建一个多维数组,我可以通过使用count获得多维数组中的每个数组元素计数 但是这里我从.txt文件中读取,我认为它是多维数组 我的问题: 我得到的是行数,但不是列数。 我知道我可以改为使用strlen$orders[$row],但是为什么不可能计算$orders[$row]。当我检查print

表示orders.txt包含

hello
hello
hello
代码:

我发现这里的错误原因是count$orders[$row]没有返回该数组中元素的总数

txt中的文本文件是多维数组,对吗

如果我创建一个多维数组,我可以通过使用count获得多维数组中的每个数组元素计数

但是这里我从.txt文件中读取,我认为它是多维数组

我的问题:

我得到的是行数,但不是列数。
我知道我可以改为使用strlen$orders[$row],但是为什么不可能计算$orders[$row]。当我检查print\r$orders时,txt中的数据不是存储在多维数组中,而是存储在一个带有key/val的普通数组中。因此您的假设是不正确的。我很难准确地理解语言障碍到底是什么问题。。。。你的列数也是正确的,因为里面只有1个值,我在这里得到1


它可能返回4,应该是3,因为在txt文件中有一个额外的换行符,删除最后一个空行,它会有意义。

您想实现什么。您的示例orders.txt太简单,并且没有指定预期的结果。file返回一个字符串数组,其中每个字符串都是文件中的一行http://php.net/manual/en/function.file.php.


如果您试图从每一行读取多个值,即将每一行作为数组读取,则可能应该改用fgetcsvhttp://php.net/manual/en/function.file.php.

var_dump$订单[$row]查看它们的实际情况。它们是字符串,而不是数组;它将显示数组$row\u count=count$orders的键和值@user1628256:因为有4行,3行是hello,一行是空的。count对字符串不起作用;当它返回0时,对于不实现除null以外的可数的值,它总是返回1。我认为您的错误计数对字符串不起作用。counthello将返回1抱歉,我太快了,我站起来更正。但我对新线的看法可能是对的。我在这里运行了你的代码来验证。
<?php
  $orders = file("orders.txt");

  $row_count = count($orders);

  for ($row = 0; $row < $row_count; $row++) {
        $col_count = count($orders[$row]);

        for ($col = 0; $col < $col_count; $col++) {
            echo $orders[$row][$col];

        }
  }

?>