php 取出指定 txt 指定信息
时间: 2023-08-16 10:06:26 浏览: 38
可以使用 PHP 中的 file() 函数读取文本文件,然后使用循环遍历每一行,查找包含指定信息的行。
例如,假设我们有一个文本文件 data.txt,内容如下:
```
name: John
age: 30
email: john@example.com
phone: 555-1234
```
我们想要取出 email 的值,可以使用以下代码:
```php
<?php
$lines = file('data.txt'); // 读取文本文件到数组中
foreach ($lines as $line) {
if (strpos($line, 'email:') === 0) { // 查找以 "email:" 开头的行
$email = trim(substr($line, 6)); // 取出 email 的值并去除前后空格
break; // 找到 email 后跳出循环
}
}
echo $email; // 输出 email
?>
```
这个代码会输出 john@example.com。其中,strpos() 函数用于查找字符串中是否包含指定的子字符串,substr() 函数用于截取字符串的一部分,trim() 函数用于去除字符串的前后空格。如果文本文件中有多个以 "email:" 开头的行,上面的代码只会取出第一个。
相关问题
读取出指定的文件名的文件
好的,如果您想要读取指定的文件名的文件,可以使用 PHP 的文件读取函数 `file_get_contents()` 或 `fopen()` 与 `fread()` 组合来实现。
以下是使用 `file_get_contents()` 函数读取指定文件的示例代码:
```php
$file_path = '/path/to/your/file.txt';
$file_content = file_get_contents($file_path);
echo $file_content;
```
上面的代码中,变量 `$file_path` 存储了指定的文件路径,`file_get_contents()` 函数用来读取文件内容并将其存储在变量 `$file_content` 中,最后使用 `echo` 输出该文件的内容。
如果您想使用 `fopen()` 与 `fread()` 组合来读取文件,可以参考以下示例代码:
```php
$file_path = '/path/to/your/file.txt';
$file_handle = fopen($file_path, 'r');
if ($file_handle) {
$file_content = fread($file_handle, filesize($file_path));
fclose($file_handle);
echo $file_content;
}
```
上面的代码中,首先使用 `fopen()` 函数打开指定的文件并将其读取权限设置为只读 `'r'`,然后使用 `fread()` 函数读取文件内容并将其存储在变量 `$file_content` 中,最后使用 `fclose()` 函数关闭文件句柄。
希望这个示例代码对您有所帮助。如果您有其他问题或需求,请随时告诉我。
php无限循环取出数组指定字段的所有数据
可以使用递归函数来实现无限循环取出数组指定字段的所有数据,示例如下:
```php
function getValues($arr, $key) {
$result = array();
foreach($arr as $item) {
if(isset($item[$key])) {
$result[] = $item[$key];
}
if(isset($item['children']) && is_array($item['children'])) {
$result = array_merge($result, getValues($item['children'], $key));
}
}
return $result;
}
```
这个函数接受两个参数,第一个参数是要遍历的数组,第二个参数是要取出的字段名。函数首先遍历数组,如果当前项存在指定字段,则将其值存入结果数组中。如果当前项存在 `children` 字段并且是数组类型,则递归调用 `getValues` 函数来遍历子数组,并将子数组中的指定字段值合并到结果数组中。最后返回结果数组。