0
$arr['CONST_A'] = 'D:\A';
$arr['CONST_A_B'] = 'D:\A\B';
convert('D:\A\B\C', $arr)
應該輸出CONST_A_B . '\C'
如何將子字符串替換爲PHP中的變量?
如何實現這樣的功能?
$arr['CONST_A'] = 'D:\A';
$arr['CONST_A_B'] = 'D:\A\B';
convert('D:\A\B\C', $arr)
應該輸出CONST_A_B . '\C'
如何將子字符串替換爲PHP中的變量?
如何實現這樣的功能?
這是一個小繁瑣。它按照字符串長度對const數組進行排序,因此它首先找到最長的可能性。然後它比較每個字符串,並在命中找到原始的常量名稱。
function convert($str, $arr) {
$search = array_combine($arr, array_map("strlen", $arr));
arsort($search);
foreach ($search as $part=>$len) {
if (strncmp($str, $part, $len) == 0) {
$const = array_search($part, $arr);
return "$const . '" . substr($str, $len) . "'";
}
}
}