Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php从文件中的任何行检索值_Php_File_Trim_Substr - Fatal编程技术网

php从文件中的任何行检索值

php从文件中的任何行检索值,php,file,trim,substr,Php,File,Trim,Substr,我试图从文件中获取一个特定的值,并将其转换为变量。我已经设法弄明白了,但有一个陷阱。即使文件更改,我也需要获取变量,因此我不能依赖于通过读取文件中的某一行来获取此值,因为它将定期更改。这是我的文件和代码: # the file.props contents: color=red height=tall length=short weight=heavy size=small shape-name=round Php代码: <?php $file = "/home/user/files/f

我试图从文件中获取一个特定的值,并将其转换为变量。我已经设法弄明白了,但有一个陷阱。即使文件更改,我也需要获取变量,因此我不能依赖于通过读取文件中的某一行来获取此值,因为它将定期更改。这是我的文件和代码:

# the file.props contents:
color=red
height=tall
length=short
weight=heavy
size=small
shape-name=round
Php代码:

<?php
$file = "/home/user/files/file.props";
$contents = file($file, FILE_SKIP_EMPTY_LINES);
$shape_name = substr(trim($contents[5]), 11);
?>

<?php echo "$shape_name"; ?>


上面的方法有效,但只有在文件的第6行有“shape name=round”时才有效,因为我使用$contents[5]来获取它。如果“shape name=round”这一行不断被更改,是否可以这样做?IE:明天是9号线,第二天可能是4号线等等。。。基本上,我不能依赖于“shapename=round”是哪一行,但我需要抓住它。我不确定我的描述是否正确,所以如果我需要澄清什么,请告诉我。

也许你的意思是这样的

foreach($contents as $line) {
    list($option, $value) = explode('=', $line);
    if ($option == 'shape-name') {
        $shape_name = $value;
    } elseif ($option == 'size') {
        $size = $value;
    }
    // you can include as many option as possible here
}

也许你的意思是这样的

foreach($contents as $line) {
    list($option, $value) = explode('=', $line);
    if ($option == 'shape-name') {
        $shape_name = $value;
    } elseif ($option == 'size') {
        $size = $value;
    }
    // you can include as many option as possible here
}

我会注意到我确实从这一行得到了这个警告,但它仍然有效:“list($option,$value)=explode('=',$line);“error:”注意:未定义的偏移量:1“。我会注意到我确实从这一行得到了这个警告,但它仍然有效:“list($option,$value)=explode('=',$line);“error:”注意:未定义的偏移量:1“。