PHP中的Awk等价物
我正在尝试让我的php脚本读取配置文件。我能够用file命令打开文件并将其每一行加载到每个数组位置。然而,现在我需要分析每一行,但找不到一种方法来读取每一个字段,就像一个awk等价物 配置文件如下所示:PHP中的Awk等价物,php,arrays,file,awk,gpio,Php,Arrays,File,Awk,Gpio,我正在尝试让我的php脚本读取配置文件。我能够用file命令打开文件并将其每一行加载到每个数组位置。然而,现在我需要分析每一行,但找不到一种方法来读取每一个字段,就像一个awk等价物 配置文件如下所示: GPIO; Direction; Active_low; Default_value; web_page; Description 1; out; 0; 0; yes; ficheiro1 2; out; 0; 0; yes; ficheiro2 我的php脚本如下: $conf=file('
GPIO; Direction; Active_low; Default_value; web_page; Description
1; out; 0; 0; yes; ficheiro1
2; out; 0; 0; yes; ficheiro2
我的php脚本如下:
$conf=file('/etc/gpio.conf', FILE_SKIP_EMPTY_LINES);
for ($i=1; $i <3; $i++)
{
echo" conf $i: $conf[$i] <br />";
$GPIO=$1stfield_of_conf[i];
$Direction=$2ndfield_of_conf[i];
$Active_low=$3rdfield_of_conf[i];
}
$conf=file('/etc/gpio.conf',file\u SKIP\u EMPTY\u line);
对于($i=1;$i给你,试一试:
$conf=file('/etc/gpio.conf', FILE_SKIP_EMPTY_LINES);
for ($i=1; $i <3; $i++)
{
echo" conf $i: $conf[$i] <br />";
$temp_array=explode(";", $conf[$i]);
echo "GPIO: $temp_array[0]";
echo "web: $temp_array[4] <br />";
}
$conf=file('/etc/gpio.conf',file\u SKIP\u EMPTY\u line);
对于($i=1;$i找到了一种方法,使用explode命令:
$conf=file('/etc/gpio.conf', FILE_SKIP_EMPTY_LINES);
for ($i=1; $i <3; $i++)
{
echo" conf $i: $conf[$i] ";
$temp_array=explode(";", $conf[$i]);
echo "GPIO: $temp_array[0]";
echo "web: $temp_array[4] ";
}
$conf=file('/etc/gpio.conf',file\u SKIP\u EMPTY\u line);
对于($i=1;$i同样,如果数组中实际上不需要它们,则可以将list()与explode()结合使用。如果这些值仅存在于此循环迭代中,则如果它们具有有意义的名称,而不是$temp_数组[3],您可能会发现代码更可读
$conf = file('/etc/gpio.conf', FILE_SKIP_EMPTY_LINES);
for ( $i = 1; $i < 3; $i++ )
{
echo" conf $i: $conf[$i] ";
list(
$GPIO, $Direction, $Active_low, $Default_value, $web_page, $Description
) = explode( ";", $conf[$i] );
echo "GPIO: $GPIO\n";
echo "Direction: $Direction\n";
echo "web: $web_page\n";
}
$conf=file('/etc/gpio.conf',file\u SKIP\u EMPTY\u line);
对于($i=1;$i<3;$i++)
{
回声“conf$i:$conf[$i]”;
名单(
$GPIO、$Direction、$Active\u low、$Default\u value、$web\u page、$Description
)=分解(“;”,$conf[$i]);
回显“GPIO:$GPIO\n”;
echo“方向:$Direction\n”;
echo“web:$web\u页面\n”;
}
找到了一种方法,使用explode命令:$conf=file('/etc/gpio.conf',file\u SKIP\u EMPTY\u line);for($i=1;$i将其作为答案发布并接受。或者,如果您不再需要答案,只需删除您的问题。或者我可以将其作为答案发布,我可以使用布朗尼点数;-)如你所愿,我只是无法回答自己,因为stackoverflow需要我8小时才能回答so@user2433937干杯