首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将断线转换为数组

将断线转换为数组
EN

Stack Overflow用户
提问于 2017-03-08 02:13:51
回答 1查看 35关注 0票数 1

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

这是我的配置内容:

代码语言:javascript
复制
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

我希望像这样将这个转换成数组:

代码语言:javascript
复制
$array['lanmode'] // value is 0
$array['rcon_password'] // value is dadasdasdsad
...

所以我怎么能做到这一点,谢谢大家,为我的英语感到抱歉。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-08 02:26:07

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

代码语言:javascript
复制
$config = array();
foreach (explode("\n", $configstring) as $v) {
    $exp = explode(" ", $v);
    $config[$exp[0]] = $exp[1];
}

如上面所示,$configstring是您的配置(没有第一行)。

$config输出

代码语言:javascript
复制
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
)

Live demo

如果你想摆脱第一行,就像你有“执行服务器Config.”在顶部,您可以在爆炸后对数组的第一部分进行unset(),如下所示

代码语言:javascript
复制
$config = array();
$exploded = explode("\n", $configstring);
unset($exploded[0]);
foreach ($exploded as $v) {
    $exp = explode(" ", $v);
    $config[$exp[0]] = $exp[1];
}

with removal of first line

  • http://php.net/explode
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42661765

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档