从文本文件php中读取第一个数组部分

时间:2016-01-14 02:16:10

标签: php arrays

我想知道如何从文本文件中读取数组的第一部分。这是代码:

array.txt

 Array
 (
      [0] => something
      [1] => another
      [2] => other
 )

上面的部分是我的文本文件。该文件名为array.txt。我希望能够读取数组的第一部分,可以通过数字零来识别。这是代码:

 $arrayOne = ""; 
 foreach(file('array.txt') as $line) {
      $arrayOne .= $line;
 }

 //echo $arrayOne;
 print_r($arrayOne);

上面的代码从文件中读取每一行,并打印或回显文件中的内容。我遇到的问题是当我尝试显示数组的第一部分时,而不是获取something我最终获得字符串的第一部分A。这是代码:

 echo $arrayOne[0];
 // Outputs: A

如何从数组中读取第一部分?

2 个答案:

答案 0 :(得分:0)

当你读取文件时,它只作为文本处理,它不知道它是一个数组。将文件保存为JSON格式,并使用php内置函数读取JSON。

解码JSON文件:php.net/manual/en/function.json-decode.php

对于编码JSON文件:php.net/manual/en/function.json-encode.php

答案 1 :(得分:0)

如果我们在文本文件中使用json内容或简单的字符串内容将会很好。

这可能适合您当前的要求。

$arrayText = ""; 
 foreach(file('array.txt') as $line) {
      $arrayText .= $line;

 }
 echo $arrayText."<br/>";//Array ( [0] => something [1] => another [2] => other )

 $arrayText = trim($arrayText);
 $arrayText = preg_replace(array('/^Array\s*\(/', '/\)\s*$/', '/\[([0-9]+)\]/'), array('', '', ''), $arrayText);
 echo $arrayText."<br/>";//=> something => another => other 

 $arrData = explode('=>', $arrayText);
echo "<pre>";
print_r($arrData);
echo "</pre>";
echo $arrData[1];//something