我想在PHP中將一個字符串分成'名稱'部分(字符串)和'鍵'部分(整數數組)。PHP - 將一個字符串分割成一個數字鍵的數組
例輸入:
$input = "Sum(1, 5, 7)";
所需的輸出:
$name = "Sum";
$keys = [1, 5, 7];
我一直在尋找爆炸,str_split使preg_split,我敢肯定有很多可能的實現。什麼是最優雅的解決方案?
我想在PHP中將一個字符串分成'名稱'部分(字符串)和'鍵'部分(整數數組)。PHP - 將一個字符串分割成一個數字鍵的數組
例輸入:
$input = "Sum(1, 5, 7)";
所需的輸出:
$name = "Sum";
$keys = [1, 5, 7];
我一直在尋找爆炸,str_split使preg_split,我敢肯定有很多可能的實現。什麼是最優雅的解決方案?
$input = "Sum(1, 5, 7)";
preg_match_all('#(\w+)\((.*?)\)#', $input, $m);
print_r($m);
似乎是一個很好的開始,但實際上它返回'1,5,7'作爲字符串,而不是數組。 – mtmacdonald
從那裏,只是爆炸字符串到一個數組。 – Jon
嘗試了這一點:
$input = "Sum(1, 5, 7)";
$split1=explode('(',$input);
$name=$split1[0];
echo $name;
$newk=rtrim($split1[1],')');
echo '<br>';
$keys=explode(',',$newk);
print_r($keys)
請將代碼放在答案中,所以答案不純粹是一個鏈接。 – Jon
EUH,那'薩姆(1,總和(1,5,7),7) '?預期產出是多少? – HamZa
它總是以格式「單詞」「括號」「逗號分隔數字」「括號」? –
@格里姆,很好的問題。是的,我希望它總是「單詞」「括號」「逗號分隔數字」「括號」。 HamZa的例子將是一個無效的(非法)輸入。該字符串在配置文件中,所以我可以控制有關意外輸入。 – mtmacdonald