PHP - get_file_contents不能作为数组工作?

时间:2013-03-28 01:36:58

标签: php arrays string file-get-contents array-splice

我正在使用$file_contents = file_get_contents($file_name),然后使用$file_contents = array_splice($file_contents, 30, 7, 'changedText')更新文件代码中的内容。但是,这导致:

Warning: array_splice(): The first argument should be an array

根据我的理解,file_get_contents()返回的字符串应该能够像任何其他数组一样进行操作。我遇到麻烦的原因是什么?非常感谢!

2 个答案:

答案 0 :(得分:6)

来自the manual

  

file_get_contents - 将整个文件读入字符串

所以你没有阵列。你有一个字符串。

答案 1 :(得分:1)

阅读documentation

即使支持使用方括号,字符串也不是数组:

$str[0]

str_split功能用于您想要的行为。它会将您的字符串转换为实数数组,然后您可以将其用作array_splice函数中的参数。 E.g:

echo('<pre>');
var_dump(array_slice(str_split("Stack Overflow"), 6));
echo('</pre>');
die();

我认为这有帮助。