2016-01-14 214 views
-1

我在想如何从文本文件中读取数组的第一部分。下面是代码:从文本文件中读取第一个数组部分php

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 

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

+0

它会从文本文件中取出每行。所以对于第一行$ arrayOne是'Array'。 $ arrayOne [0]会给出字符串 –

+0

的第一个字符,我想从数组中打印“something”。 – user2692270

回答

0

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

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

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

+0

这不是它...我想回显数组的第一部分或[0] – user2692270

+0

我更新了我的代码。如果你只想得到第二行,只需要:if(counter == 2) – Rana

+0

不,那不是,我知道如何读取文件 – user2692270

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