一、使用 file_get_contents 函数
file_get_contents 函数可以将文件读取为字符串。我们可以将文件读取为字符串后,再使用 explode 函数根据我们要求的分隔符将字符串分割成数组。例如,我们有一个文件 data.txt,其中包含以下内容:
tom:24jerry:25kate:28
可以使用以下代码将其转换为数组:
$data = file_get_contents('data.txt');$data_array = explode(\n, $data);foreach ($data_array as &$value) { $value = explode(':', trim($value));}unset($value);print_r($data_array);
输出结果如下:
array( [0] => array ( [0] => tom [1] => 24 ) [1] => array ( [0] => jerry [1] => 25 ) [2] => array ( [0] => kate [1] => 28 ))
二、使用 file 函数
file 函数将整个文件读取为数组,每个数组元素都是文件中的一行。因此,我们可以直接使用 file 函数将文件读取为数组。例如,我们有一个文件 data.txt,其中包含以下内容:
tom:24jerry:25kate:28
可以使用以下代码将其转换为数组:
$data_array = file('data.txt', file_ignore_new_lines | file_skip_empty_lines);foreach ($data_array as &$value) { $value = explode(':', trim($value));}unset($value);print_r($data_array);
输出结果如下:
array( [0] => array ( [0] => tom [1] => 24 ) [1] => array ( [0] => jerry [1] => 25 ) [2] => array ( [0] => kate [1] => 28 ))
三、使用 fgets 函数
fgets 函数可以逐行读取文件内容,我们可以在循环中使用 fgets 函数将文件读取为数组。例如,我们有一个文件 data.txt,其中包含以下内容:
tom:24jerry:25kate:28
可以使用以下代码将其转换为数组:
$handle = fopen('data.txt', 'r');$data_array = array();while (!feof($handle)) { $line = fgets($handle); if ($line !== false) { $line = explode(':', trim($line)); $data_array[] = $line; }}fclose($handle);print_r($data_array);
输出结果如下:
array( [0] => array ( [0] => tom [1] => 24 ) [1] => array ( [0] => jerry [1] => 25 ) [2] => array ( [0] => kate [1] => 28 ))
以上三种方法都可以将文件转换为数组,具体选择哪种方法取决于实际应用场景。如果文件内容较小,建议使用 file_get_contents 或 file 函数将文件读取为字符串或数组,然后转换为数组操作;如果文件内容较大,建议使用 fgets 函数逐行读取文件内容。
以上就是php files怎么转数组的详细内容。