Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/271.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_Arrays - Fatal编程技术网

Php 将换行符转换为数组

Php 将换行符转换为数组,php,arrays,Php,Arrays,我正在尝试将配置内容转换为数组 这是我的配置内容: echo Executing Server Config... lanmode 0 rcon_password dadasdasdsad maxplayers 10 port 11494 hostname SA-MP 0.3 Server gamemode0 grandlarc 1 filterscripts base gl_actions gl_property gl_realtime announce 0 query 1 weburl ww

我正在尝试将配置内容转换为数组

这是我的配置内容:

echo Executing Server Config...
lanmode 0
rcon_password dadasdasdsad
maxplayers 10
port 11494
hostname SA-MP 0.3 Server
gamemode0 grandlarc 1
filterscripts base gl_actions gl_property gl_realtime
announce 0
query 1
weburl www.sa-mp.com
maxnpc 0
onfoot_rate 40
incar_rate 40
weapon_rate 40
stream_distance 300.0
stream_rate 1000
我想将其转换为如下数组:

$array['lanmode'] // value is 0
$array['rcon_password'] // value is dadasdasdsad
...

所以我该怎么做呢,谢谢大家,对不起我的英语。

一种方法是使用
explode()
两次:一次获取每一行,然后一次获取每个元素

$config = array();
foreach (explode("\n", $configstring) as $v) {
    $exp = explode(" ", $v);
    $config[$exp[0]] = $exp[1];
}
其中,
$configstring
是上面给出的配置(没有第一行)

$config的输出

Array
(
    [lanmode] => 0
    [rcon_password] => dadasdasdsad
    [maxplayers] => 10
    [port] => 11494
    [hostname] => SA-MP
    [gamemode0] => grandlarc
    [filterscripts] => base
    [announce] => 0
    [query] => 1
    [weburl] => www.sa-mp.com
    [maxnpc] => 0
    [onfoot_rate] => 40
    [incar_rate] => 40
    [weapon_rate] => 40
    [stream_distance] => 300.0
    [stream_rate] => 1000
)


如果您想去掉第一行,比如顶部的“Executing Server Config…”,您可以在分解后将数组的第一部分
unset()
如下所示

$config = array();
$exploded = explode("\n", $configstring);
unset($exploded[0]);
foreach ($exploded as $v) {
    $exp = explode(" ", $v);
    $config[$exp[0]] = $exp[1];
}



非常感谢您!