douyi7283 2015-11-30 21:46
浏览 82
已采纳

Preg_match_all()将结果放在关联数组中

So as the title says is there anyway to make this:

$leagueoflegendswebsite = file_get_contents($_POST['leagueoflegendswebsite']);

preg_match_all('/{{ci\|([^\|||}]+)/', $leagueoflegendschampions, $champion);

$leagueoflegendschampions is just a part of the $leagueoflegendswebsite.

var_dump(): http://i.imgur.com/UgMDQj8.png

Is there any way to make it like $champion['Sona'], $champion['Blitzcrank'], $champion['Fiddlestick'] and so on?

  • 写回答

1条回答 默认 最新

  • drc15469 2015-11-30 21:49
    关注

    Based on your matches array, use array_combine():

    $champion = array_combine($champion[1], $champion[0]);
    

    Or to have default values, fill the keys:

    $champion = array_fill_keys($champion[1], ''); // or use some value other than ''
    

    Or flip it:

    $champion = array_flip($champion[1]);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?