【问题标题】:array_reverse() expects parameter 1 to be array, string given inarray_reverse() 期望参数 1 是数组,字符串在
【发布时间】:2011-06-15 03:30:15
【问题描述】:

我正在获取一个 .txt 文件并尝试将其反转,但是当我尝试时出现此错误,我不明白。请帮忙?

array_reverse() 期望参数 1 是数组,字符串在......

代码如下:

$dirCont = file_get_contents($dir, NULL, NULL, $sPoint, 10240000);
$invertedLines = array_reverse($dirCont);

echo $invertedLines;

【问题讨论】:

    标签: array-reverse


    【解决方案1】:

    字符串不是数组?即使它是(如在 C 字符串中)它也不会像您预期的那样工作。您需要在换行符处拆分文件(如果您尝试反转以首先获取文件末尾)。

    $invertedLines = array_reverse(preg_split("/\n/", $dirCont));
    

    【讨论】:

    • 为澄清起见,Suroot 想说的是您正在使用的 file_get_contents 函数返回一个字符串,而不是一个数组,因此您正在为 array_reverse 提供一个字符串,这当然不会上班,us3.php.net/file_get_contents
    • 谢谢 Suroot,但是我现在收到另一个错误,同样的 array_reverse 错误:警告:preg_split() [function.preg-split]: Unknown modifier 'v' in
    • 您可以粘贴您正在使用的新代码吗?似乎您正在尝试传递 preg_split 一些它不满意的标志。另外,发布您看到的所有错误。最好用新信息编辑原始帖子。
    • $dirCont = file_get_contents($dir, NULL, NULL, $sPoint, 10240000); $invertedLines = array_reverse(preg_split($dirCont, "\n"));两个错误是:警告:preg_split() [function.preg-split]: Unknown modifier 'v' in 和警告:array_reverse() 期望参数 1 是数组,给定布尔值
    • 哈,我的错;今天过得不好;需要反转 preg_split() 中的参数。将更新,抱歉混淆。还需要在模式周围包含 //,因此 /\n/
    【解决方案2】:

    我认为您需要在数组上传递值。

    array_reverse(array($dircont));
    

    这对我来说很好。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-05-09
      • 1970-01-01
      • 1970-01-01
      • 2021-01-13
      • 2015-07-12
      • 2016-04-30
      • 2014-12-09
      相关资源
      最近更新 更多