我正在从输入文件中读取一行并将其传递给数组。
我的输入文件只包含一行: 1 false A 2,3
其中1 =顶点,false =已访问,A =字母,2,3 =邻居
我使用下面的代码将行传递给数组..
$data = array(
1 => array($lines[2]));
我得到以下结果:
Array ( [1] => Array ( [0] => 1 false A 2,3 ) )
每件事情都很完美,我现在唯一想要的就是将每个值分配给一个属性,例如1应该分配给顶点等等......
示例:
Array ( [1] => Array ( [vertex] => 1 [visited] => [letter] => A [neighbours] => Array ( [0] => 2 [1] => 3 ) ) )
有没有办法得到相同的结果?
答案 0 :(得分:3)
您可以使用下面的explode()执行此操作;
<?php
$values = explode(" ", $lines[2]);
$inputArr = array(
'vertex' => $values[0],
'visited' => $values[1],
'letter' => $values[2],
'neighbours' => explode(",", $values[3])
);
修改:如果您想使用多行,则可以使用;
<?php
$inputsArr = array();
$handle = fopen("your_file.txt", "r");
if ($handle) {
while (($line = fgets($handle)) !== false) {
$values = explode(" ", line);
$inputArr = array(
'vertex' => $values[0],
'visited' => $values[1],
'letter' => $values[2],
'neighbours' => explode(",", $values[3]
);
array_push($inputsArr, $inputArr);
}
} else {
die("Error occured while opening file")
}