从string创建php变量

时间:2016-10-02 19:11:03

标签: php

您好我有一个从字符串中提取公司名称的脚本。我希望将提取的名称转换为php变量。所以例如第一个结果Real Coffee Sweeden必须转换为$RealCoffeeSweeden = 0所以我可以为它分配一个值

 $test='/showname/0406741848                              : Real Coffee Sweeden
/showname/0406741849                              : Healthzone SE
/showname/16133663413                             : FREE
/showname/16133663414                             : RadioPlantes Canada
/showname/16133663417                             : Dealsoftoday.Eu Canada
/showname/16136995593                             : FREE
/showname/16136995594                             : Club White Smile Canada
/showname/16138007442                             : FREE
/showname/16138007547                             : Mybitwave.com Canada
/showname/16465596150                             : BABY
/showname/16465696956                             : FREE
/showname/16465696957                             : FREE
/showname/16467419944                             : Mybitwave.com UK
/showname/16469181975                             : FREE
/showname/21501350                                : SecureSurf.EU NO
/showname/21501351                                : FileCloud365 Norwegian
/showname/21501352                                : FREE
/showname/21501353                                : RadioPlantes Norwegian
';


$myRows= explode("\n", $test);

foreach( $myRows as $key => $value) {
    $pieces = explode(":", $value);

    $result[] =  $pieces[1];
}

foreach ($result as $res){
    $res // covert to php variable
    //example: $RealCoffeeSweeden = 0;
}

2 个答案:

答案 0 :(得分:2)

你可以这样试试

System.Console.Write("\u001b[2J\u001b[?47l\u001b8")

答案 1 :(得分:1)

你应该使用一个数组。但是如果你想按照你写的方式去做,你可以简单地做这样的事情:

foreach( $myRows as $key => $value) {
    $pieces = explode(":", $value);

    $res = str_replace(' ', '', $pieces[1]); // replace whitespaces for valid names
    $$res = 0; // note the double dollar signs
}

如果你想使用数组,请执行以下操作:

$result = [];
foreach( $myRows as $key => $value) {
    $pieces = explode(":", $value);

    $key = str_replace(' ', '', $pieces[1]);
    $result[$key] = 0;
}

根据您的评论,更改foreach循环中的倒数第二行,如下所示:

$res = str_replace(' ', '', $res) . '_f';